2026-06-15T04:21:06.375909Z 00O Running with gitlab-runner 19.0.0~pre.1138.ga0a1e0e8 (a0a1e0e8) 2026-06-15T04:21:06.375920Z 00O  on blue-3.saas-linux-medium-amd64.runners-manager.gitlab.com/default U4xQPDyhm, system ID: s_b59597d5b921 2026-06-15T04:21:06.375925Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true 2026-06-15T04:21:06.375945Z 00O Resolving secrets 2026-06-15T04:21:06.376072Z 00O section_start:1781497266:prepare_executor 2026-06-15T04:21:06.376073Z 00O+Preparing the "docker+machine" executor 2026-06-15T04:21:06.507389Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-06-15T04:21:10.473998Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-06-15T04:21:10.474724Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-06-15T04:21:10.474733Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-06-15T04:21:28.653458Z 00O Using docker image sha256:dc10a52140703d0a9dfa8d4656b6c925ce3ae6de8ad092cda4341a4c150a8fd1 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:13725b11e793903abf0e2b201d7f7e9772205535d6672b798caaf2c1c69ba78e ... 2026-06-15T04:21:28.653530Z 00O section_end:1781497288:prepare_executor 2026-06-15T04:21:28.653532Z 00O+section_start:1781497288:prepare_script 2026-06-15T04:21:28.653605Z 00O+Preparing environment 2026-06-15T04:21:28.654479Z 00O Using effective pull policy of [always] for container sha256:b11dcb290dd05f12d209b4aa791e6c6b852ce6a042dca0b9bba95de5a102de30 2026-06-15T04:21:34.132376Z 01O Running on runner-u4xqpdyhm-project-3622566-concurrent-0 via runner-u4xqpdyhm-s-l-m-amd64-1781497175-c7213f86... 2026-06-15T04:21:34.309787Z 00O section_end:1781497294:prepare_script 2026-06-15T04:21:34.309794Z 00O+section_start:1781497294:get_sources 2026-06-15T04:21:34.310321Z 00O+Getting source from Git repository 2026-06-15T04:21:34.686841Z 01O Gitaly correlation ID: bb34011ce5344e97a370264929d5fb4a 2026-06-15T04:21:34.694722Z 01O Fetching changes... 2026-06-15T04:21:34.698034Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-06-15T04:21:34.700282Z 01O Created fresh repository. 2026-06-15T04:21:40.391141Z 01O Checking out 9fb84861 as detached HEAD (ref is master)... 2026-06-15T04:21:40.585383Z 01O 2026-06-15T04:21:40.585390Z 01O Skipping Git submodules setup 2026-06-15T04:21:40.585391Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-06-15T04:21:40.802136Z 00O section_end:1781497300:get_sources 2026-06-15T04:21:40.802145Z 00O+section_start:1781497300:download_artifacts 2026-06-15T04:21:40.805080Z 00O+Downloading artifacts 2026-06-15T04:21:41.241036Z 01O Downloading artifacts for mirror-packages (14850332670)... 2026-06-15T04:21:41.454428Z 01E Direct download from storage.googleapis.com  correlation_id=213b0d601850472abca2379603aa2fa7 id=14850332670 status=302 token=70_ezCupD 2026-06-15T04:21:42.054431Z 01E Downloading artifacts from coordinator... ok  correlation_id=213b0d601850472abca2379603aa2fa7 id=14850332670 status=302 token=70_ezCupD 2026-06-15T04:21:42.626689Z 01O Downloading artifacts for build (14850332671)... 2026-06-15T04:21:42.831394Z 01E Direct download from storage.googleapis.com  correlation_id=7060be98db494aa1af759efc97b1b355 id=14850332671 status=302 token=70_ezCupD 2026-06-15T04:21:43.014842Z 01E Downloading artifacts from coordinator... ok  correlation_id=7060be98db494aa1af759efc97b1b355 id=14850332671 status=302 token=70_ezCupD 2026-06-15T04:21:43.660438Z 00O section_end:1781497303:download_artifacts 2026-06-15T04:21:43.660445Z 00O+section_start:1781497303:step_script 2026-06-15T04:21:43.660869Z 00O+Executing "step_script" stage of the job script 2026-06-15T04:21:43.660888Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-06-15T04:21:43.662072Z 00O Using docker image sha256:dc10a52140703d0a9dfa8d4656b6c925ce3ae6de8ad092cda4341a4c150a8fd1 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:13725b11e793903abf0e2b201d7f7e9772205535d6672b798caaf2c1c69ba78e ... 2026-06-15T04:21:44.026590Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-06-15T04:21:44.036083Z 01O $ mkdir -p ~/.R 2026-06-15T04:21:44.037414Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-06-15T04:21:44.037550Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-06-15T04:21:44.037551Z 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-06-15T04:21:44.265296Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-06-15T04:21:44.265301Z 01E 2026-06-15T04:23:01.213505Z 01E Updating HTML index of packages in '.Library' 2026-06-15T04:23:01.214477Z 01E Making 'packages.html' ... done 2026-06-15T04:23:01.232107Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-06-15T04:23:01.251106Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-06-15T04:23:08.835809Z 01E 2 warnings generated. 2026-06-15T04:23:08.835824Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-06-15T04:23:11.986737Z 01E 2 warnings generated. 2026-06-15T04:23:11.987082Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-06-15T04:23:18.844258Z 01E 2 warnings generated. 2026-06-15T04:23:18.844272Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-06-15T04:23:19.080658Z 01E 6 warnings generated. 2026-06-15T04:23:19.081000Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-06-15T04:23:21.811077Z 01E 6 warnings generated. 2026-06-15T04:23:21.811316Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-06-15T04:23:24.107774Z 01E 6 warnings generated. 2026-06-15T04:23:24.108092Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-06-15T04:23:28.421507Z 01E 6 warnings generated. 2026-06-15T04:23:28.421824Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-06-15T04:23:28.484046Z 01E 6 warnings generated. 2026-06-15T04:23:28.484335Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-06-15T04:23:31.494015Z 01E 9 warnings generated. 2026-06-15T04:23:31.494113Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-06-15T04:23:36.854107Z 01E 10 warnings generated. 2026-06-15T04:23:36.854122Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-06-15T04:23:40.829672Z 01E 11 warnings generated. 2026-06-15T04:23:40.829920Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-06-15T04:23:49.168131Z 01E 12 warnings generated. 2026-06-15T04:23:49.168143Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-06-15T04:23:52.607517Z 01E 12 warnings generated. 2026-06-15T04:23:52.607800Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-06-15T04:23:58.198582Z 01E 24 warnings generated. 2026-06-15T04:23:58.198711Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-06-15T04:24:07.167547Z 01E 27 warnings generated. 2026-06-15T04:24:07.167561Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-06-15T04:24:18.084110Z 01E 33 warnings generated. 2026-06-15T04:24:18.084319Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-06-15T04:24:21.835503Z 01E 34 warnings generated. 2026-06-15T04:24:21.835818Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-06-15T04:24:24.264111Z 01E 37 warnings generated. 2026-06-15T04:24:24.264435Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-06-15T04:24:24.313289Z 01E 37 warnings generated. 2026-06-15T04:24:24.313595Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-06-15T04:24:24.649348Z 01E 37 warnings generated. 2026-06-15T04:24:24.649714Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-06-15T04:24:30.895237Z 01E 39 warnings generated. 2026-06-15T04:24:30.895254Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-06-15T04:24:34.373263Z 01E 39 warnings generated. 2026-06-15T04:24:34.373631Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-06-15T04:24:48.036657Z 01E 44 warnings generated. 2026-06-15T04:24:48.036671Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-06-15T04:24:48.155067Z 01E 45 warnings generated. 2026-06-15T04:24:48.155321Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-06-15T04:24:48.406804Z 01E 45 warnings generated. 2026-06-15T04:24:48.407156Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-06-15T04:24:53.180405Z 01E 48 warnings generated. 2026-06-15T04:24:53.180738Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-06-15T04:24:53.231311Z 01E 48 warnings generated. 2026-06-15T04:24:53.231690Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-06-15T04:24:53.264885Z 01E 48 warnings generated. 2026-06-15T04:24:53.265286Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-06-15T04:24:54.146081Z 01E 48 warnings generated. 2026-06-15T04:24:54.146399Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-06-15T04:24:57.340338Z 01E 61 warnings generated. 2026-06-15T04:24:57.340762Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-06-15T04:24:57.372507Z 01E 61 warnings generated. 2026-06-15T04:24:57.372826Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-06-15T04:24:57.422582Z 01E 61 warnings generated. 2026-06-15T04:24:57.422977Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-06-15T04:24:57.577785Z 01E 62 warnings generated. 2026-06-15T04:24:57.578133Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-06-15T04:24:58.043833Z 01E 62 warnings generated. 2026-06-15T04:24:58.044237Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-06-15T04:24:58.837448Z 01E 62 warnings generated. 2026-06-15T04:24:58.837862Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-06-15T04:25:02.226051Z 01E 68 warnings generated. 2026-06-15T04:25:02.226432Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-06-15T04:25:04.959486Z 01E 68 warnings generated. 2026-06-15T04:25:04.959783Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-06-15T04:25:04.990389Z 01E 68 warnings generated. 2026-06-15T04:25:04.990731Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-06-15T04:25:08.049017Z 01E 68 warnings generated. 2026-06-15T04:25:08.049373Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-06-15T04:25:09.352378Z 01E 70 warnings generated. 2026-06-15T04:25:09.352706Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-06-15T04:25:09.728201Z 01E 70 warnings generated. 2026-06-15T04:25:09.728519Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-06-15T04:25:12.613506Z 01E 70 warnings generated. 2026-06-15T04:25:12.613814Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-06-15T04:25:12.960071Z 01E 70 warnings generated. 2026-06-15T04:25:12.960482Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-06-15T04:25:20.146736Z 01E 70 warnings generated. 2026-06-15T04:25:20.146752Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-06-15T04:25:21.261657Z 01E 70 warnings generated. 2026-06-15T04:25:21.262157Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-06-15T04:25:21.301033Z 01E 70 warnings generated. 2026-06-15T04:25:21.301488Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-06-15T04:25:21.379335Z 01E 70 warnings generated. 2026-06-15T04:25:21.380152Z 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-06-15T04:25:21.380154Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-06-15T04:25:21.380155Z 01O | ^ 2026-06-15T04:25:21.380156Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-06-15T04:25:21.380156Z 01O 934 | const STYPE val = sd[soff]; \ 2026-06-15T04:25:21.380157Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.380158Z 01O /builds/Rdatatable/data.table/src/assign.c:711:7: note: Assuming 'len' is >= 1 2026-06-15T04:25:21.380158Z 01O 711 | if (len<1) return NULL; 2026-06-15T04:25:21.380159Z 01O | ^~~~~ 2026-06-15T04:25:21.380159Z 01O /builds/Rdatatable/data.table/src/assign.c:711:3: note: Taking false branch 2026-06-15T04:25:21.380159Z 01O 711 | if (len<1) return NULL; 2026-06-15T04:25:21.380160Z 01O | ^ 2026-06-15T04:25:21.380160Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: Assuming 'sourceLen' is < 0 2026-06-15T04:25:21.380161Z 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-06-15T04:25:21.380162Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.380162Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: '?' condition is false 2026-06-15T04:25:21.380162Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'slen' is not equal to 0 2026-06-15T04:25:21.380163Z 01O 713 | if (slen==0) return NULL; 2026-06-15T04:25:21.380163Z 01O | ^~~~~~~ 2026-06-15T04:25:21.380164Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2026-06-15T04:25:21.380164Z 01O 713 | if (slen==0) return NULL; 2026-06-15T04:25:21.380165Z 01O | ^ 2026-06-15T04:25:21.380165Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'sourceStart' is >= 0 2026-06-15T04:25:21.380166Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-06-15T04:25:21.380166Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.380167Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Left side of '||' is false 2026-06-15T04:25:21.380167Z 01O /builds/Rdatatable/data.table/src/assign.c:714:24: note: Assuming the condition is false 2026-06-15T04:25:21.380168Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-06-15T04:25:21.380168Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.380169Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-06-15T04:25:21.380169Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-06-15T04:25:21.380170Z 01O | ^ 2026-06-15T04:25:21.380170Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming the condition is false 2026-06-15T04:25:21.380171Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-06-15T04:25:21.380171Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.380172Z 01O /builds/Rdatatable/data.table/src/assign.c:716:22: note: Left side of '&&' is false 2026-06-15T04:25:21.380205Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-06-15T04:25:21.380205Z 01O | ^ 2026-06-15T04:25:21.380206Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming 'slen' is <= 1 2026-06-15T04:25:21.380206Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-06-15T04:25:21.380207Z 01O | ^~~~~~ 2026-06-15T04:25:21.380207Z 01O /builds/Rdatatable/data.table/src/assign.c:719:14: note: Left side of '&&' is false 2026-06-15T04:25:21.380208Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-06-15T04:25:21.380208Z 01O | ^ 2026-06-15T04:25:21.380209Z 01O /builds/Rdatatable/data.table/src/assign.c:723:7: note: Assuming 'colname' is not equal to NULL 2026-06-15T04:25:21.380209Z 01O 723 | if (colname==NULL) 2026-06-15T04:25:21.380210Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.380210Z 01O /builds/Rdatatable/data.table/src/assign.c:723:3: note: Taking false branch 2026-06-15T04:25:21.380210Z 01O 723 | if (colname==NULL) 2026-06-15T04:25:21.380211Z 01O | ^ 2026-06-15T04:25:21.380217Z 01O /builds/Rdatatable/data.table/src/assign.c:728:26: note: Assuming the condition is false 2026-06-15T04:25:21.380218Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-06-15T04:25:21.380219Z 01O | ^ 2026-06-15T04:25:21.380284Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-06-15T04:25:21.380285Z 01O 963 | #define isReal Rf_isReal 2026-06-15T04:25:21.380286Z 01O | ^ 2026-06-15T04:25:21.380286Z 01O /builds/Rdatatable/data.table/src/assign.c:728:41: note: Left side of '&&' is false 2026-06-15T04:25:21.380287Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-06-15T04:25:21.380287Z 01O | ^ 2026-06-15T04:25:21.380288Z 01O /builds/Rdatatable/data.table/src/assign.c:729:26: note: Assuming the condition is false 2026-06-15T04:25:21.380288Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-06-15T04:25:21.380289Z 01O | ^ 2026-06-15T04:25:21.380289Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-06-15T04:25:21.380290Z 01O 963 | #define isReal Rf_isReal 2026-06-15T04:25:21.380290Z 01O | ^ 2026-06-15T04:25:21.380307Z 01O /builds/Rdatatable/data.table/src/assign.c:729:41: note: Left side of '&&' is false 2026-06-15T04:25:21.380307Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-06-15T04:25:21.380308Z 01O | ^ 2026-06-15T04:25:21.380309Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Assuming 'sourceIsFactor' is false 2026-06-15T04:25:21.380309Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-06-15T04:25:21.380310Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.380310Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Left side of '||' is false 2026-06-15T04:25:21.380311Z 01O /builds/Rdatatable/data.table/src/assign.c:730:25: note: Assuming 'targetIsFactor' is false 2026-06-15T04:25:21.380311Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-06-15T04:25:21.380312Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.380312Z 01O /builds/Rdatatable/data.table/src/assign.c:730:3: note: Taking false branch 2026-06-15T04:25:21.380313Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-06-15T04:25:21.380313Z 01O | ^ 2026-06-15T04:25:21.380400Z 01O /builds/Rdatatable/data.table/src/assign.c:837:14: note: Assuming the condition is false 2026-06-15T04:25:21.380401Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-06-15T04:25:21.380409Z 01O | ^ 2026-06-15T04:25:21.380410Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-06-15T04:25:21.380410Z 01O 966 | #define isString Rf_isString 2026-06-15T04:25:21.380411Z 01O | ^ 2026-06-15T04:25:21.380411Z 01O /builds/Rdatatable/data.table/src/assign.c:837:31: note: Left side of '&&' is false 2026-06-15T04:25:21.380412Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-06-15T04:25:21.380412Z 01O | ^ 2026-06-15T04:25:21.380475Z 01O /builds/Rdatatable/data.table/src/assign.c:846:14: note: Assuming the condition is false 2026-06-15T04:25:21.380476Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-06-15T04:25:21.380476Z 01O | ^ 2026-06-15T04:25:21.380477Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-06-15T04:25:21.380477Z 01O 955 | #define isNewList Rf_isNewList 2026-06-15T04:25:21.380478Z 01O | ^ 2026-06-15T04:25:21.380478Z 01O /builds/Rdatatable/data.table/src/assign.c:846:32: note: Left side of '&&' is false 2026-06-15T04:25:21.380479Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-06-15T04:25:21.380479Z 01O | ^ 2026-06-15T04:25:21.380486Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Assuming the condition is false 2026-06-15T04:25:21.380487Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-06-15T04:25:21.380488Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.380488Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Left side of '||' is false 2026-06-15T04:25:21.380489Z 01O /builds/Rdatatable/data.table/src/assign.c:861:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-06-15T04:25:21.380489Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-06-15T04:25:21.380490Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.380490Z 01O /builds/Rdatatable/data.table/src/assign.c:861:75: note: Left side of '&&' is false 2026-06-15T04:25:21.380491Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-06-15T04:25:21.380492Z 01O | ^ 2026-06-15T04:25:21.380575Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: Assuming the condition is false 2026-06-15T04:25:21.380576Z 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-06-15T04:25:21.380577Z 01O | ^ 2026-06-15T04:25:21.380579Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.380580Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.380580Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.380586Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: '?' condition is false 2026-06-15T04:25:21.380586Z 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-06-15T04:25:21.380587Z 01O | ^ 2026-06-15T04:25:21.380588Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.380588Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.380589Z 01O | ^ 2026-06-15T04:25:21.380716Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Assuming the condition is true 2026-06-15T04:25:21.380721Z 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-06-15T04:25:21.380722Z 01O | ^ 2026-06-15T04:25:21.380722Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.380723Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.380723Z 01O | ^ 2026-06-15T04:25:21.380724Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-06-15T04:25:21.380724Z 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-06-15T04:25:21.380725Z 01O | ^ 2026-06-15T04:25:21.380725Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.380726Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.380726Z 01O | ^ 2026-06-15T04:25:21.380839Z 01O /builds/Rdatatable/data.table/src/assign.c:972:39: note: Assuming 'slen' is > 0 2026-06-15T04:25:21.380840Z 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-06-15T04:25:21.380841Z 01O | ^~~~~~ 2026-06-15T04:25:21.380845Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-06-15T04:25:21.380846Z 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-06-15T04:25:21.380847Z 01O | ^ 2026-06-15T04:25:21.380847Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.380847Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.380848Z 01O | ^ 2026-06-15T04:25:21.380853Z 01O /builds/Rdatatable/data.table/src/assign.c:972:49: note: Assuming 'slen' is equal to 'len' 2026-06-15T04:25:21.380853Z 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-06-15T04:25:21.380861Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.381061Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-06-15T04:25:21.381062Z 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-06-15T04:25:21.381062Z 01O | ^ 2026-06-15T04:25:21.381063Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.381063Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.381064Z 01O | ^ 2026-06-15T04:25:21.381064Z 01O /builds/Rdatatable/data.table/src/assign.c:972:62: note: Assuming 'soff' is not equal to 0 2026-06-15T04:25:21.381065Z 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-06-15T04:25:21.381066Z 01O | ^~~~~~~ 2026-06-15T04:25:21.381066Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: Assuming the condition is false 2026-06-15T04:25:21.381067Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-06-15T04:25:21.381073Z 01O | ^ 2026-06-15T04:25:21.381073Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.381074Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.381074Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.381075Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: '?' condition is false 2026-06-15T04:25:21.381075Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-06-15T04:25:21.381076Z 01O | ^ 2026-06-15T04:25:21.381076Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.381077Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.381077Z 01O | ^ 2026-06-15T04:25:21.381078Z 01O /builds/Rdatatable/data.table/src/assign.c:974:3: note: Control jumps to 'case 20:' at line 1102 2026-06-15T04:25:21.381078Z 01O 974 | switch (TYPEOF(target)) { 2026-06-15T04:25:21.381079Z 01O | ^ 2026-06-15T04:25:21.381085Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: 'len' is equal to 1 2026-06-15T04:25:21.381085Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-06-15T04:25:21.381086Z 01O | ^~~ 2026-06-15T04:25:21.381086Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-06-15T04:25:21.381087Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:21: note: Assuming the condition is true 2026-06-15T04:25:21.381087Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-06-15T04:25:21.381088Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.381088Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-06-15T04:25:21.381089Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-06-15T04:25:21.381090Z 01O | ^ 2026-06-15T04:25:21.381158Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:47: note: Assuming the condition is true 2026-06-15T04:25:21.381159Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-06-15T04:25:21.381160Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.381164Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:5: note: Taking true branch 2026-06-15T04:25:21.381165Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-06-15T04:25:21.381165Z 01O | ^ 2026-06-15T04:25:21.381166Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Assuming the condition is true 2026-06-15T04:25:21.381166Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-06-15T04:25:21.381167Z 01O | ^ 2026-06-15T04:25:21.381178Z 01O /builds/Rdatatable/data.table/src/assign.c:932:9: note: expanded from macro 'BODY' 2026-06-15T04:25:21.381178Z 01O 932 | if (length(where)) { \ 2026-06-15T04:25:21.381179Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.381179Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.381180Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.381180Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.381181Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-06-15T04:25:21.381181Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-06-15T04:25:21.381182Z 01O | ^ 2026-06-15T04:25:21.381182Z 01O /builds/Rdatatable/data.table/src/assign.c:932:5: note: expanded from macro 'BODY' 2026-06-15T04:25:21.381183Z 01O 932 | if (length(where)) { \ 2026-06-15T04:25:21.381188Z 01O | ^ 2026-06-15T04:25:21.381279Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: 'slen' is equal to 1 2026-06-15T04:25:21.381279Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-06-15T04:25:21.381280Z 01O | ^ 2026-06-15T04:25:21.381280Z 01O /builds/Rdatatable/data.table/src/assign.c:933:11: note: expanded from macro 'BODY' 2026-06-15T04:25:21.381281Z 01O 933 | if (slen==1) { \ 2026-06-15T04:25:21.381281Z 01O | ^~~~ 2026-06-15T04:25:21.381282Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-06-15T04:25:21.381282Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-06-15T04:25:21.381283Z 01O | ^ 2026-06-15T04:25:21.381283Z 01O /builds/Rdatatable/data.table/src/assign.c:933:7: note: expanded from macro 'BODY' 2026-06-15T04:25:21.381284Z 01O 933 | if (slen==1) { \ 2026-06-15T04:25:21.381284Z 01O | ^ 2026-06-15T04:25:21.381287Z 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-06-15T04:25:21.381288Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-06-15T04:25:21.381289Z 01O | ^ 2026-06-15T04:25:21.381289Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-06-15T04:25:21.381290Z 01O 934 | const STYPE val = sd[soff]; \ 2026-06-15T04:25:21.381290Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.381650Z 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-06-15T04:25:21.381651Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-06-15T04:25:21.381652Z 01O | ^~~~~ 2026-06-15T04:25:21.381652Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-06-15T04:25:21.381653Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-06-15T04:25:21.381653Z 01O | ^~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.381654Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-06-15T04:25:21.381654Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-06-15T04:25:21.381655Z 01O | ^ 2026-06-15T04:25:21.381655Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-06-15T04:25:21.381656Z 01O 6 | if (chin && chmatchdup) 2026-06-15T04:25:21.381656Z 01O | ^~~~ 2026-06-15T04:25:21.381657Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-06-15T04:25:21.381657Z 01O 6 | if (chin && chmatchdup) 2026-06-15T04:25:21.381658Z 01O | ^ 2026-06-15T04:25:21.381658Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-06-15T04:25:21.381658Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-06-15T04:25:21.381659Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.381659Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-06-15T04:25:21.381660Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-06-15T04:25:21.381660Z 01O | ^ 2026-06-15T04:25:21.381661Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-06-15T04:25:21.381661Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-06-15T04:25:21.381662Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.381662Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-06-15T04:25:21.381663Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-06-15T04:25:21.381663Z 01O | ^ 2026-06-15T04:25:21.381671Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-06-15T04:25:21.381672Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-06-15T04:25:21.381672Z 01O | ^ 2026-06-15T04:25:21.381673Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-06-15T04:25:21.381673Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-06-15T04:25:21.381674Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-06-15T04:25:21.381675Z 01O | ^~~~~~~ 2026-06-15T04:25:21.381675Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-06-15T04:25:21.381675Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-06-15T04:25:21.381676Z 01O | ^ 2026-06-15T04:25:21.381676Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-06-15T04:25:21.381677Z 01O 31 | if (tablelen==0) { 2026-06-15T04:25:21.381677Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.381678Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-06-15T04:25:21.381678Z 01O 31 | if (tablelen==0) { 2026-06-15T04:25:21.381679Z 01O | ^ 2026-06-15T04:25:21.381679Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-06-15T04:25:21.381679Z 01O 40 | if (isSymbol(x)) { 2026-06-15T04:25:21.381680Z 01O | ^ 2026-06-15T04:25:21.381680Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-06-15T04:25:21.381681Z 01O 953 | #define isSymbol Rf_isSymbol 2026-06-15T04:25:21.381681Z 01O | ^ 2026-06-15T04:25:21.381682Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-06-15T04:25:21.381682Z 01O 40 | if (isSymbol(x)) { 2026-06-15T04:25:21.381683Z 01O | ^ 2026-06-15T04:25:21.381683Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-06-15T04:25:21.381683Z 01O 46 | if (xlen==1) { 2026-06-15T04:25:21.381684Z 01O | ^~~~~~~ 2026-06-15T04:25:21.381684Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-06-15T04:25:21.381685Z 01O 46 | if (xlen==1) { 2026-06-15T04:25:21.381685Z 01O | ^ 2026-06-15T04:25:21.381685Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-06-15T04:25:21.381686Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.381686Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.381687Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-06-15T04:25:21.381779Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-06-15T04:25:21.381779Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.381780Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.381780Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-06-15T04:25:21.381781Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.381781Z 01O | ^ 2026-06-15T04:25:21.381782Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-06-15T04:25:21.381782Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-06-15T04:25:21.381783Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.381783Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.381784Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-06-15T04:25:21.381784Z 01O | ^ 2026-06-15T04:25:21.381785Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-06-15T04:25:21.381790Z 01O 66 | if (tl == 0) { 2026-06-15T04:25:21.381790Z 01O | ^~~~~~~ 2026-06-15T04:25:21.381791Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-06-15T04:25:21.381791Z 01O 66 | if (tl == 0) { 2026-06-15T04:25:21.381792Z 01O | ^ 2026-06-15T04:25:21.381794Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-06-15T04:25:21.381794Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-06-15T04:25:21.381795Z 01O | ^ 2026-06-15T04:25:21.381795Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.381796Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-06-15T04:25:21.381796Z 01O | ^ 2026-06-15T04:25:21.381845Z 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-06-15T04:25:21.381846Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-06-15T04:25:21.381846Z 01O | ^~~~~ 2026-06-15T04:25:21.381847Z 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-06-15T04:25:21.381848Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-06-15T04:25:21.381848Z 01O | ^~~~~ 2026-06-15T04:25:21.381849Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-06-15T04:25:21.381849Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-06-15T04:25:21.381850Z 01O | ^~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.381850Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-06-15T04:25:21.381851Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-06-15T04:25:21.381851Z 01O | ^ 2026-06-15T04:25:21.381851Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-06-15T04:25:21.381852Z 01O 6 | if (chin && chmatchdup) 2026-06-15T04:25:21.381852Z 01O | ^~~~ 2026-06-15T04:25:21.381853Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-06-15T04:25:21.381853Z 01O 6 | if (chin && chmatchdup) 2026-06-15T04:25:21.381854Z 01O | ^ 2026-06-15T04:25:21.381854Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-06-15T04:25:21.381855Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-06-15T04:25:21.381855Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.381855Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-06-15T04:25:21.381856Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-06-15T04:25:21.381856Z 01O | ^ 2026-06-15T04:25:21.381857Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-06-15T04:25:21.381857Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-06-15T04:25:21.381858Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.381858Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-06-15T04:25:21.381859Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-06-15T04:25:21.381859Z 01O | ^ 2026-06-15T04:25:21.381941Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-06-15T04:25:21.381942Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-06-15T04:25:21.381943Z 01O | ^ 2026-06-15T04:25:21.381943Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-06-15T04:25:21.381944Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-06-15T04:25:21.381949Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-06-15T04:25:21.381950Z 01O | ^~~~~~~ 2026-06-15T04:25:21.381950Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-06-15T04:25:21.381951Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-06-15T04:25:21.381951Z 01O | ^ 2026-06-15T04:25:21.381951Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-06-15T04:25:21.381952Z 01O 31 | if (tablelen==0) { 2026-06-15T04:25:21.381952Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.381953Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-06-15T04:25:21.381953Z 01O 31 | if (tablelen==0) { 2026-06-15T04:25:21.381954Z 01O | ^ 2026-06-15T04:25:21.381956Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-06-15T04:25:21.381957Z 01O 40 | if (isSymbol(x)) { 2026-06-15T04:25:21.381957Z 01O | ^ 2026-06-15T04:25:21.381958Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-06-15T04:25:21.381958Z 01O 953 | #define isSymbol Rf_isSymbol 2026-06-15T04:25:21.381959Z 01O | ^ 2026-06-15T04:25:21.381959Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-06-15T04:25:21.381960Z 01O 40 | if (isSymbol(x)) { 2026-06-15T04:25:21.381960Z 01O | ^ 2026-06-15T04:25:21.381962Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-06-15T04:25:21.381963Z 01O 46 | if (xlen==1) { 2026-06-15T04:25:21.381963Z 01O | ^~~~~~~ 2026-06-15T04:25:21.381964Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-06-15T04:25:21.381964Z 01O 46 | if (xlen==1) { 2026-06-15T04:25:21.381965Z 01O | ^ 2026-06-15T04:25:21.381968Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-06-15T04:25:21.381968Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.381969Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.381969Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-06-15T04:25:21.381970Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.381970Z 01O | ^ 2026-06-15T04:25:21.381972Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-06-15T04:25:21.381973Z 01O 99 | for (int i=0; i= 'tablelen' 2026-06-15T04:25:21.382142Z 01O 123 | for (int i=0; i= 'tablelen' 2026-06-15T04:25:21.382150Z 01O 125 | for (int i=0; i= 0 2026-06-15T04:25:21.382279Z 01O 129 | if (u<0) { 2026-06-15T04:25:21.382280Z 01O | ^~~ 2026-06-15T04:25:21.382280Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-06-15T04:25:21.382281Z 01O 129 | if (u<0) { 2026-06-15T04:25:21.382281Z 01O | ^ 2026-06-15T04:25:21.382284Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-06-15T04:25:21.382284Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-06-15T04:25:21.382541Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.382541Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-06-15T04:25:21.382541Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.382542Z 01O | ^ 2026-06-15T04:25:21.382542Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-06-15T04:25:21.382543Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.382543Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.382546Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-06-15T04:25:21.382547Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.382547Z 01O | ^ 2026-06-15T04:25:21.382548Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-06-15T04:25:21.382548Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-06-15T04:25:21.383013Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.383014Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-06-15T04:25:21.383014Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-06-15T04:25:21.383015Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.383015Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.383016Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-06-15T04:25:21.383016Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-06-15T04:25:21.383017Z 01O | ^ 2026-06-15T04:25:21.383017Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-06-15T04:25:21.383018Z 01O 99 | for (int i=0; i= 0 2026-06-15T04:25:21.383038Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-06-15T04:25:21.383038Z 01O | ^~~ 2026-06-15T04:25:21.383038Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-06-15T04:25:21.383039Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-06-15T04:25:21.383039Z 01O | ^ 2026-06-15T04:25:21.383040Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-06-15T04:25:21.383040Z 01O 144 | for (int i=0; i= 'nlhs' 2026-06-15T04:25:21.383137Z 01O 14 | for (int i=0; i= 'nlhs' 2026-06-15T04:25:21.383492Z 01O 14 | for (int i=0; i= 'nlhs' 2026-06-15T04:25:21.383809Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-06-15T04:25:21.385637Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.385645Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-06-15T04:25:21.385646Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-06-15T04:25:21.385646Z 01O | ^ 2026-06-15T04:25:21.385646Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.385647Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.385648Z 01O | ^ 2026-06-15T04:25:21.385648Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-06-15T04:25:21.385648Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-06-15T04:25:21.385649Z 01O | ^ 2026-06-15T04:25:21.385739Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.385740Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.385741Z 01O | ^ 2026-06-15T04:25:21.385741Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-06-15T04:25:21.385742Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-06-15T04:25:21.385742Z 01O | ^ 2026-06-15T04:25:21.385742Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.385743Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.385743Z 01O | ^ 2026-06-15T04:25:21.385744Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-06-15T04:25:21.385744Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-06-15T04:25:21.385745Z 01O | ^ 2026-06-15T04:25:21.385759Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-06-15T04:25:21.385760Z 01O 228 | for (int i=0; i= 'ncol' 2026-06-15T04:25:21.385762Z 01O 234 | for (int i=0; i= 'nidx' 2026-06-15T04:25:21.385957Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-06-15T04:25:21.385963Z 01O | ^~~~ 2026-06-15T04:25:21.385963Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-06-15T04:25:21.385964Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-06-15T04:25:21.385964Z 01O | ^ 2026-06-15T04:25:21.386041Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-06-15T04:25:21.386041Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-06-15T04:25:21.386165Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-06-15T04:25:21.387296Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-06-15T04:25:21.387742Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.387811Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-06-15T04:25:21.387811Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-06-15T04:25:21.387812Z 01O | ^ 2026-06-15T04:25:21.387815Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-06-15T04:25:21.387816Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-06-15T04:25:21.387816Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.387817Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-06-15T04:25:21.387817Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-06-15T04:25:21.387818Z 01O | ^ 2026-06-15T04:25:21.387818Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-06-15T04:25:21.387819Z 01O 326 | if (new_marks != marks) { 2026-06-15T04:25:21.387819Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.387820Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-06-15T04:25:21.387820Z 01O 326 | if (new_marks != marks) { 2026-06-15T04:25:21.387820Z 01O | ^ 2026-06-15T04:25:21.387866Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-06-15T04:25:21.387867Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-06-15T04:25:21.387867Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.387868Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-06-15T04:25:21.387868Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-06-15T04:25:21.387869Z 01O | ^ 2026-06-15T04:25:21.387952Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-06-15T04:25:21.387953Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-06-15T04:25:21.387953Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.387961Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-06-15T04:25:21.387961Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-06-15T04:25:21.387962Z 01O | ^ 2026-06-15T04:25:21.387962Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-06-15T04:25:21.387963Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-06-15T04:25:21.387964Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.387992Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-06-15T04:25:21.387993Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-06-15T04:25:21.387994Z 01O | ^ 2026-06-15T04:25:21.387994Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-06-15T04:25:21.387994Z 01O 338 | if (!anynotascii) 2026-06-15T04:25:21.387999Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.388000Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-06-15T04:25:21.388000Z 01O 338 | if (!anynotascii) 2026-06-15T04:25:21.388001Z 01O | ^ 2026-06-15T04:25:21.388112Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-06-15T04:25:21.388112Z 01O 340 | if (!IS_UTF8(s)) 2026-06-15T04:25:21.388113Z 01O | ^ 2026-06-15T04:25:21.388113Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-06-15T04:25:21.388114Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-06-15T04:25:21.388114Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388115Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-06-15T04:25:21.388115Z 01O 925 | #define getCharCE Rf_getCharCE 2026-06-15T04:25:21.388116Z 01O | ^ 2026-06-15T04:25:21.388116Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-06-15T04:25:21.388117Z 01O 340 | if (!IS_UTF8(s)) 2026-06-15T04:25:21.388117Z 01O | ^ 2026-06-15T04:25:21.388118Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-06-15T04:25:21.388118Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-06-15T04:25:21.388230Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-06-15T04:25:21.388240Z 01O 364 | for (int i=0; i> 2026-06-15T04:25:21.388577Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388578Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-06-15T04:25:21.388578Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388579Z 01O 43 | 2026-06-15T04:25:21.388579Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-06-15T04:25:21.388579Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388580Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-06-15T04:25:21.388580Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388581Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-06-15T04:25:21.388581Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388582Z 01O 47 | 2026-06-15T04:25:21.388582Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-06-15T04:25:21.388583Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388583Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-06-15T04:25:21.388584Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388584Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-06-15T04:25:21.388585Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388585Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-06-15T04:25:21.388586Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388591Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-06-15T04:25:21.388592Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388592Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-06-15T04:25:21.388593Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388593Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-06-15T04:25:21.388594Z 01O 1410 | if (freadCleanup()) { 2026-06-15T04:25:21.388594Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.388595Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-06-15T04:25:21.388595Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-06-15T04:25:21.388596Z 01O | ^~~~ 2026-06-15T04:25:21.388596Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-06-15T04:25:21.388597Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-06-15T04:25:21.388597Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-06-15T04:25:21.388598Z 01O | ^~~~~~~ 2026-06-15T04:25:21.388604Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-06-15T04:25:21.388605Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-06-15T04:25:21.388605Z 01O | ^ 2026-06-15T04:25:21.388715Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-06-15T04:25:21.388715Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-06-15T04:25:21.388716Z 01O | ^~~~ 2026-06-15T04:25:21.388719Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-06-15T04:25:21.388720Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-06-15T04:25:21.388720Z 01O | ^ 2026-06-15T04:25:21.388721Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-06-15T04:25:21.388722Z 01O 169 | if (mmp != NULL) { 2026-06-15T04:25:21.388722Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.388722Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-06-15T04:25:21.388723Z 01O 169 | if (mmp != NULL) { 2026-06-15T04:25:21.388723Z 01O | ^ 2026-06-15T04:25:21.388724Z 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-06-15T04:25:21.388724Z 01O 193 | quoteRule = -1; 2026-06-15T04:25:21.388725Z 01O | ^~ 2026-06-15T04:25:21.388728Z 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-06-15T04:25:21.388729Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-06-15T04:25:21.388730Z 01O | ^ ~~ 2026-06-15T04:25:21.388730Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-06-15T04:25:21.388730Z 01O 1410 | if (freadCleanup()) { 2026-06-15T04:25:21.388731Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.388731Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-06-15T04:25:21.388732Z 01O 1410 | if (freadCleanup()) { 2026-06-15T04:25:21.388732Z 01O | ^ 2026-06-15T04:25:21.388830Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.388836Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-06-15T04:25:21.388837Z 01O | ^~~~~~~ 2026-06-15T04:25:21.388837Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-06-15T04:25:21.388838Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-06-15T04:25:21.388838Z 01O | ^ 2026-06-15T04:25:21.388839Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-06-15T04:25:21.388839Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-06-15T04:25:21.388839Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.388840Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-06-15T04:25:21.388840Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-06-15T04:25:21.388841Z 01O | ^ 2026-06-15T04:25:21.388844Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-06-15T04:25:21.388844Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-06-15T04:25:21.388845Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.388845Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-06-15T04:25:21.388846Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-06-15T04:25:21.388846Z 01O | ^ 2026-06-15T04:25:21.388847Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-06-15T04:25:21.388847Z 01O 1420 | if (nth <= 0) nth = 1; 2026-06-15T04:25:21.388847Z 01O | ^~~ 2026-06-15T04:25:21.388848Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-06-15T04:25:21.388848Z 01O 1420 | if (nth <= 0) nth = 1; 2026-06-15T04:25:21.388849Z 01O | ^ 2026-06-15T04:25:21.388941Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-06-15T04:25:21.388942Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-06-15T04:25:21.388942Z 01O | ^~~~~~~ 2026-06-15T04:25:21.388946Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-06-15T04:25:21.388947Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-06-15T04:25:21.388947Z 01O | ^ 2026-06-15T04:25:21.388948Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-06-15T04:25:21.388948Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-06-15T04:25:21.388949Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.388953Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-06-15T04:25:21.388953Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-06-15T04:25:21.388954Z 01O | ^ 2026-06-15T04:25:21.388954Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-06-15T04:25:21.388955Z 01O 1436 | while (*nastr) { 2026-06-15T04:25:21.388955Z 01O | ^ 2026-06-15T04:25:21.388956Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-06-15T04:25:21.388956Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-06-15T04:25:21.388957Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389035Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-06-15T04:25:21.389036Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-06-15T04:25:21.389036Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389038Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-06-15T04:25:21.389039Z 01O 1464 | if (verbose) { 2026-06-15T04:25:21.389044Z 01O | ^~~~~~~ 2026-06-15T04:25:21.389044Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-06-15T04:25:21.389045Z 01O 1464 | if (verbose) { 2026-06-15T04:25:21.389045Z 01O | ^ 2026-06-15T04:25:21.389048Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-06-15T04:25:21.389049Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-06-15T04:25:21.389050Z 01O | ^ 2026-06-15T04:25:21.389050Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-06-15T04:25:21.389055Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-06-15T04:25:21.389056Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389059Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-06-15T04:25:21.389060Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-06-15T04:25:21.389060Z 01O | ^ 2026-06-15T04:25:21.389061Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-06-15T04:25:21.389061Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-06-15T04:25:21.389062Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389068Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-06-15T04:25:21.389069Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-06-15T04:25:21.389069Z 01O | ^ 2026-06-15T04:25:21.389168Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-06-15T04:25:21.389168Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-06-15T04:25:21.389169Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.389169Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-06-15T04:25:21.389170Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-06-15T04:25:21.389170Z 01O | ^ 2026-06-15T04:25:21.389171Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-06-15T04:25:21.389171Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-06-15T04:25:21.389172Z 01O | ^~~~~~~ 2026-06-15T04:25:21.389175Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-06-15T04:25:21.389176Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-06-15T04:25:21.389176Z 01O | ^ 2026-06-15T04:25:21.389177Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-06-15T04:25:21.389177Z 01O 1515 | if (args.input) { 2026-06-15T04:25:21.389177Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.389178Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-06-15T04:25:21.389178Z 01O 1515 | if (args.input) { 2026-06-15T04:25:21.389179Z 01O | ^ 2026-06-15T04:25:21.389182Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-06-15T04:25:21.389183Z 01O 1522 | else if (args.filename) { 2026-06-15T04:25:21.389183Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.389183Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-06-15T04:25:21.389184Z 01O 1522 | else if (args.filename) { 2026-06-15T04:25:21.389184Z 01O | ^ 2026-06-15T04:25:21.389185Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-06-15T04:25:21.389185Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-06-15T04:25:21.389191Z 01O | ^~~~~~~ 2026-06-15T04:25:21.389344Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-06-15T04:25:21.389344Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-06-15T04:25:21.389345Z 01O | ^ 2026-06-15T04:25:21.389345Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-06-15T04:25:21.389346Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-06-15T04:25:21.389346Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389347Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-06-15T04:25:21.389347Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-06-15T04:25:21.389348Z 01O | ^~~~~~ 2026-06-15T04:25:21.389351Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-06-15T04:25:21.389351Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-06-15T04:25:21.389352Z 01O | ^ 2026-06-15T04:25:21.389352Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-06-15T04:25:21.389353Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-06-15T04:25:21.389353Z 01O | ^ ~~ 2026-06-15T04:25:21.389356Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.389356Z 01O 1780 | pos = ch; 2026-06-15T04:25:21.389357Z 01O | ^ ~~ 2026-06-15T04:25:21.389357Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-06-15T04:25:21.389358Z 01O 1780 | pos = ch; 2026-06-15T04:25:21.389358Z 01O | ^ ~~ 2026-06-15T04:25:21.389361Z 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-06-15T04:25:21.389362Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-06-15T04:25:21.389362Z 01O | ^~ 2026-06-15T04:25:21.389528Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-06-15T04:25:21.389529Z 01O 38 | enum quote_rule_t 2026-06-15T04:25:21.389529Z 01O | ~~~~~^~~~~~~~~~~~ 2026-06-15T04:25:21.389530Z 01O 39 | { 2026-06-15T04:25:21.389530Z 01O | ~ 2026-06-15T04:25:21.389531Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-06-15T04:25:21.389531Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389532Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-06-15T04:25:21.389532Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389533Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-06-15T04:25:21.389533Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389534Z 01O 43 | 2026-06-15T04:25:21.389534Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-06-15T04:25:21.389534Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389535Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-06-15T04:25:21.389536Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389536Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-06-15T04:25:21.389536Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389537Z 01O 47 | 2026-06-15T04:25:21.389537Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-06-15T04:25:21.389538Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389545Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-06-15T04:25:21.389545Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389546Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-06-15T04:25:21.389546Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389547Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-06-15T04:25:21.389548Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389548Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-06-15T04:25:21.389549Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389549Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-06-15T04:25:21.389550Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389550Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-06-15T04:25:21.389551Z 01O 1410 | if (freadCleanup()) { 2026-06-15T04:25:21.389551Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.389552Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-06-15T04:25:21.389552Z 01O 1410 | if (freadCleanup()) { 2026-06-15T04:25:21.389552Z 01O | ^ 2026-06-15T04:25:21.389553Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.389553Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-06-15T04:25:21.389554Z 01O | ^~~~~~~ 2026-06-15T04:25:21.389648Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-06-15T04:25:21.389648Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-06-15T04:25:21.389649Z 01O | ^ 2026-06-15T04:25:21.389649Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-06-15T04:25:21.389650Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-06-15T04:25:21.389650Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.389650Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-06-15T04:25:21.389651Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-06-15T04:25:21.389651Z 01O | ^ 2026-06-15T04:25:21.389654Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-06-15T04:25:21.389655Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-06-15T04:25:21.389655Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.389656Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-06-15T04:25:21.389656Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-06-15T04:25:21.389657Z 01O | ^ 2026-06-15T04:25:21.389657Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-06-15T04:25:21.389657Z 01O 1420 | if (nth <= 0) nth = 1; 2026-06-15T04:25:21.389658Z 01O | ^~~ 2026-06-15T04:25:21.389658Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-06-15T04:25:21.389659Z 01O 1420 | if (nth <= 0) nth = 1; 2026-06-15T04:25:21.389659Z 01O | ^ 2026-06-15T04:25:21.389663Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-06-15T04:25:21.389663Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-06-15T04:25:21.389664Z 01O | ^~~~~~~ 2026-06-15T04:25:21.389664Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-06-15T04:25:21.389665Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-06-15T04:25:21.389665Z 01O | ^ 2026-06-15T04:25:21.389673Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-06-15T04:25:21.389673Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-06-15T04:25:21.389674Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389676Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-06-15T04:25:21.389677Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-06-15T04:25:21.389678Z 01O | ^ 2026-06-15T04:25:21.389764Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-06-15T04:25:21.389765Z 01O 1436 | while (*nastr) { 2026-06-15T04:25:21.389765Z 01O | ^ 2026-06-15T04:25:21.389765Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-06-15T04:25:21.389766Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-06-15T04:25:21.389766Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389767Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-06-15T04:25:21.389767Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-06-15T04:25:21.389768Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389768Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-06-15T04:25:21.389769Z 01O 1464 | if (verbose) { 2026-06-15T04:25:21.389769Z 01O | ^~~~~~~ 2026-06-15T04:25:21.389770Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-06-15T04:25:21.389770Z 01O 1464 | if (verbose) { 2026-06-15T04:25:21.389771Z 01O | ^ 2026-06-15T04:25:21.389771Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-06-15T04:25:21.389771Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-06-15T04:25:21.389772Z 01O | ^ 2026-06-15T04:25:21.389775Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-06-15T04:25:21.389776Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-06-15T04:25:21.389777Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389777Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-06-15T04:25:21.389778Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-06-15T04:25:21.389778Z 01O | ^ 2026-06-15T04:25:21.389895Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-06-15T04:25:21.389895Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-06-15T04:25:21.389896Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.389896Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-06-15T04:25:21.389897Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-06-15T04:25:21.389897Z 01O | ^ 2026-06-15T04:25:21.389898Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-06-15T04:25:21.389898Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-06-15T04:25:21.389899Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.389901Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-06-15T04:25:21.389902Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-06-15T04:25:21.389907Z 01O | ^ 2026-06-15T04:25:21.389911Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-06-15T04:25:21.389911Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-06-15T04:25:21.389912Z 01O | ^~~~~~~ 2026-06-15T04:25:21.389912Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-06-15T04:25:21.389913Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-06-15T04:25:21.389913Z 01O | ^ 2026-06-15T04:25:21.389913Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-06-15T04:25:21.389914Z 01O 1515 | if (args.input) { 2026-06-15T04:25:21.389914Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.389915Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-06-15T04:25:21.389915Z 01O 1515 | if (args.input) { 2026-06-15T04:25:21.389916Z 01O | ^ 2026-06-15T04:25:21.389918Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-06-15T04:25:21.389918Z 01O 1522 | else if (args.filename) { 2026-06-15T04:25:21.389919Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.390033Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-06-15T04:25:21.390034Z 01O 1522 | else if (args.filename) { 2026-06-15T04:25:21.390034Z 01O | ^ 2026-06-15T04:25:21.390036Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-06-15T04:25:21.390037Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-06-15T04:25:21.390038Z 01O | ^ 2026-06-15T04:25:21.390044Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-06-15T04:25:21.390045Z 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-06-15T04:25:21.390046Z 01O | ^ 2026-06-15T04:25:21.390046Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-06-15T04:25:21.390047Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-06-15T04:25:21.390047Z 01O | ^~~~~~~ 2026-06-15T04:25:21.390048Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-06-15T04:25:21.390048Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-06-15T04:25:21.390049Z 01O | ^ 2026-06-15T04:25:21.390148Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-06-15T04:25:21.390148Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-06-15T04:25:21.390149Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.390149Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-06-15T04:25:21.390150Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-06-15T04:25:21.390150Z 01O | ^ 2026-06-15T04:25:21.390151Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-06-15T04:25:21.390151Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-06-15T04:25:21.390152Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.390154Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-06-15T04:25:21.390154Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-06-15T04:25:21.390155Z 01O | ^ 2026-06-15T04:25:21.390158Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-06-15T04:25:21.390159Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-06-15T04:25:21.390164Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.390164Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-06-15T04:25:21.390165Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-06-15T04:25:21.390166Z 01O | ^ 2026-06-15T04:25:21.390258Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-06-15T04:25:21.390259Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-06-15T04:25:21.390259Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.390260Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-06-15T04:25:21.390260Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-06-15T04:25:21.390261Z 01O | ^ 2026-06-15T04:25:21.390261Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-06-15T04:25:21.390262Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-06-15T04:25:21.390262Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.390265Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-06-15T04:25:21.390265Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-06-15T04:25:21.390266Z 01O | ^ 2026-06-15T04:25:21.390266Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-06-15T04:25:21.390267Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-06-15T04:25:21.390268Z 01O | ^~~~~~~ 2026-06-15T04:25:21.390345Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-06-15T04:25:21.390345Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-06-15T04:25:21.390346Z 01O | ^ 2026-06-15T04:25:21.390349Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-06-15T04:25:21.390349Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-06-15T04:25:21.390350Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.390351Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-06-15T04:25:21.390351Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-06-15T04:25:21.390352Z 01O | ^ 2026-06-15T04:25:21.390352Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-06-15T04:25:21.390353Z 01O 1649 | while (ch < sample_end) { 2026-06-15T04:25:21.390353Z 01O | ^ 2026-06-15T04:25:21.390356Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-06-15T04:25:21.390356Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-06-15T04:25:21.390357Z 01O | ^~~~~~~ 2026-06-15T04:25:21.390357Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-06-15T04:25:21.390358Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-06-15T04:25:21.390358Z 01O | ^ 2026-06-15T04:25:21.390377Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-06-15T04:25:21.390378Z 01O 1674 | if (args.filename) { 2026-06-15T04:25:21.390378Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.390379Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-06-15T04:25:21.390379Z 01O 1674 | if (args.filename) { 2026-06-15T04:25:21.390380Z 01O | ^ 2026-06-15T04:25:21.390445Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-06-15T04:25:21.390446Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-06-15T04:25:21.390453Z 01O | ^~~~~~~ 2026-06-15T04:25:21.390462Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-06-15T04:25:21.390462Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-06-15T04:25:21.390463Z 01O | ^ 2026-06-15T04:25:21.390463Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-06-15T04:25:21.390464Z 01O 1752 | if (args.skipString) { 2026-06-15T04:25:21.390464Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.390465Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-06-15T04:25:21.390465Z 01O 1752 | if (args.skipString) { 2026-06-15T04:25:21.390466Z 01O | ^ 2026-06-15T04:25:21.390466Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-06-15T04:25:21.390466Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-06-15T04:25:21.390467Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.390545Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-06-15T04:25:21.390546Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-06-15T04:25:21.390546Z 01O | ^ 2026-06-15T04:25:21.390549Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-06-15T04:25:21.390550Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-06-15T04:25:21.390550Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.390551Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-06-15T04:25:21.390551Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-06-15T04:25:21.390552Z 01O | ^ 2026-06-15T04:25:21.390649Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-06-15T04:25:21.390650Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-06-15T04:25:21.390650Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.390653Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-06-15T04:25:21.390653Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-06-15T04:25:21.390654Z 01O | ^ 2026-06-15T04:25:21.390654Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-06-15T04:25:21.390655Z 01O 1789 | if (verbose) { 2026-06-15T04:25:21.390655Z 01O | ^~~~~~~ 2026-06-15T04:25:21.390656Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-06-15T04:25:21.390656Z 01O 1789 | if (verbose) { 2026-06-15T04:25:21.390657Z 01O | ^ 2026-06-15T04:25:21.390753Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-06-15T04:25:21.390754Z 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-06-15T04:25:21.390755Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.390755Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-06-15T04:25:21.390756Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-06-15T04:25:21.390756Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-06-15T04:25:21.390757Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.390815Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-06-15T04:25:21.390820Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-06-15T04:25:21.390821Z 01O | ^ 2026-06-15T04:25:21.390825Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-06-15T04:25:21.390825Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-06-15T04:25:21.390826Z 01O | ^~~~~~~ 2026-06-15T04:25:21.390826Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-06-15T04:25:21.390827Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-06-15T04:25:21.390827Z 01O | ^ 2026-06-15T04:25:21.390828Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-06-15T04:25:21.390828Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-06-15T04:25:21.390829Z 01O | ^~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.390856Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-06-15T04:25:21.390857Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-06-15T04:25:21.390858Z 01O | ^ 2026-06-15T04:25:21.390858Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-06-15T04:25:21.390858Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-06-15T04:25:21.390859Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.390860Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-06-15T04:25:21.390862Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-06-15T04:25:21.390863Z 01O 1836 | if (args.sep == '\0') { 2026-06-15T04:25:21.390863Z 01O | ^~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.390917Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-06-15T04:25:21.390918Z 01O 1836 | if (args.sep == '\0') { 2026-06-15T04:25:21.390918Z 01O | ^ 2026-06-15T04:25:21.390918Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-06-15T04:25:21.390919Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-06-15T04:25:21.390919Z 01O | ^~~~~~~ 2026-06-15T04:25:21.390920Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-06-15T04:25:21.390920Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-06-15T04:25:21.390921Z 01O | ^ 2026-06-15T04:25:21.390977Z 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-06-15T04:25:21.390978Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-06-15T04:25:21.390979Z 01O | ^~ 2026-06-15T04:25:21.391022Z 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-06-15T04:25:21.391023Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-06-15T04:25:21.391024Z 01O | ^~~~~~~~~~~~~ ~~ 2026-06-15T04:25:21.391027Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-06-15T04:25:21.391027Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-06-15T04:25:21.391028Z 01O | ^~~~~~~~~~~~~ ~~ 2026-06-15T04:25:21.391028Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.391034Z 01O 2278 | estnrow = 1; 2026-06-15T04:25:21.391034Z 01O | ^ ~ 2026-06-15T04:25:21.391081Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-06-15T04:25:21.391084Z 01O 2278 | estnrow = 1; 2026-06-15T04:25:21.391085Z 01O | ^ ~ 2026-06-15T04:25:21.391091Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.391092Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-06-15T04:25:21.391092Z 01O | ^ ~ 2026-06-15T04:25:21.391092Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-06-15T04:25:21.391093Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-06-15T04:25:21.391094Z 01O | ^ ~ 2026-06-15T04:25:21.391193Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.391194Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-06-15T04:25:21.391194Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391195Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-06-15T04:25:21.391196Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-06-15T04:25:21.391196Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391198Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.391199Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-06-15T04:25:21.391200Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391200Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-06-15T04:25:21.391201Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-06-15T04:25:21.391201Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391299Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.391300Z 01O 2487 | nth = imin(nJumps, nth); 2026-06-15T04:25:21.391301Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391301Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-06-15T04:25:21.391302Z 01O 2487 | nth = imin(nJumps, nth); 2026-06-15T04:25:21.391303Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391308Z 01O /builds/Rdatatable/data.table/src/fread.c:2743:21: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-06-15T04:25:21.391310Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-06-15T04:25:21.391310Z 01O | ^~~~~~ 2026-06-15T04:25:21.391386Z 01O /builds/Rdatatable/data.table/src/fread.c:2743:21: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-06-15T04:25:21.391387Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-06-15T04:25:21.391388Z 01O | ^~~~~~ 2026-06-15T04:25:21.391391Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.391391Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-06-15T04:25:21.391392Z 01O | ^ ~~~ 2026-06-15T04:25:21.391401Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: note: Value stored to 'tLast' is never read 2026-06-15T04:25:21.391401Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-06-15T04:25:21.391402Z 01O | ^ ~~~ 2026-06-15T04:25:21.391625Z 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-06-15T04:25:21.391626Z 01O 789 | if (state->buffer[i] == '\n') { 2026-06-15T04:25:21.391627Z 01O | ^ ~~~~~~ 2026-06-15T04:25:21.391627Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-06-15T04:25:21.391628Z 01O 768 | if (state->outfile == NULL) { 2026-06-15T04:25:21.391628Z 01O | ^ 2026-06-15T04:25:21.391629Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-06-15T04:25:21.391629Z 01O 768 | if (state->outfile == NULL) { 2026-06-15T04:25:21.391630Z 01O | ^ 2026-06-15T04:25:21.391630Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-06-15T04:25:21.391630Z 01O 772 | state->buffer = malloc(chunk_size); 2026-06-15T04:25:21.391631Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391631Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-06-15T04:25:21.391632Z 01O 773 | if (!state->buffer) { 2026-06-15T04:25:21.391632Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.391633Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-06-15T04:25:21.391633Z 01O 773 | if (!state->buffer) { 2026-06-15T04:25:21.391634Z 01O | ^ 2026-06-15T04:25:21.391634Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-06-15T04:25:21.391635Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-06-15T04:25:21.391635Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391636Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.391636Z 01O 780 | while (true) { 2026-06-15T04:25:21.391636Z 01O | ^ 2026-06-15T04:25:21.391637Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-06-15T04:25:21.391637Z 01O 782 | if (nread == 0) { 2026-06-15T04:25:21.391638Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.391638Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-06-15T04:25:21.391639Z 01O 782 | if (nread == 0) { 2026-06-15T04:25:21.391639Z 01O | ^ 2026-06-15T04:25:21.391668Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-06-15T04:25:21.391669Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-06-15T04:25:21.391669Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.391670Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-06-15T04:25:21.391670Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-06-15T04:25:21.391671Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-06-15T04:25:21.391671Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.391672Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-06-15T04:25:21.391672Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-06-15T04:25:21.391673Z 01O | ^ 2026-06-15T04:25:21.391673Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-06-15T04:25:21.391674Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-06-15T04:25:21.391674Z 01O | ^ 2026-06-15T04:25:21.391679Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.391680Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-06-15T04:25:21.391680Z 01O | ^ 2026-06-15T04:25:21.391684Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-06-15T04:25:21.391685Z 01O 789 | if (state->buffer[i] == '\n') { 2026-06-15T04:25:21.391685Z 01O | ^ ~~~~~~ 2026-06-15T04:25:21.391686Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-06-15T04:25:21.391686Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-06-15T04:25:21.391687Z 01O | ^ ~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391688Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-06-15T04:25:21.391688Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-06-15T04:25:21.391689Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391730Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-06-15T04:25:21.391731Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-06-15T04:25:21.391731Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391732Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-06-15T04:25:21.391732Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-06-15T04:25:21.391733Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391733Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-06-15T04:25:21.391734Z 01O 768 | if (state->outfile == NULL) { 2026-06-15T04:25:21.391734Z 01O | ^ 2026-06-15T04:25:21.391796Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-06-15T04:25:21.391797Z 01O 768 | if (state->outfile == NULL) { 2026-06-15T04:25:21.391797Z 01O | ^ 2026-06-15T04:25:21.391798Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-06-15T04:25:21.391798Z 01O 773 | if (!state->buffer) { 2026-06-15T04:25:21.391799Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.391799Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-06-15T04:25:21.391799Z 01O 773 | if (!state->buffer) { 2026-06-15T04:25:21.391800Z 01O | ^ 2026-06-15T04:25:21.391842Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-06-15T04:25:21.391843Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-06-15T04:25:21.391844Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391844Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.391845Z 01O 780 | while (true) { 2026-06-15T04:25:21.391845Z 01O | ^ 2026-06-15T04:25:21.391845Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-06-15T04:25:21.391846Z 01O 782 | if (nread == 0) { 2026-06-15T04:25:21.391846Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.391847Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-06-15T04:25:21.391847Z 01O 782 | if (nread == 0) { 2026-06-15T04:25:21.391848Z 01O | ^ 2026-06-15T04:25:21.391912Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-06-15T04:25:21.391912Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-06-15T04:25:21.391913Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.391918Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-06-15T04:25:21.391918Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-06-15T04:25:21.391919Z 01O | ^ 2026-06-15T04:25:21.391919Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-06-15T04:25:21.391920Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-06-15T04:25:21.391920Z 01O | ^ ~~~~~~~~~~~~~~ 2026-06-15T04:25:21.391947Z 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-06-15T04:25:21.391948Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-06-15T04:25:21.391949Z 01O | ^ ~~~~~~~~~~~~~ 2026-06-15T04:25:21.391951Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-06-15T04:25:21.391951Z 01O 768 | if (state->outfile == NULL) { 2026-06-15T04:25:21.391952Z 01O | ^ 2026-06-15T04:25:21.391952Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-06-15T04:25:21.391953Z 01O 768 | if (state->outfile == NULL) { 2026-06-15T04:25:21.391953Z 01O | ^ 2026-06-15T04:25:21.392002Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-06-15T04:25:21.392003Z 01O 772 | state->buffer = malloc(chunk_size); 2026-06-15T04:25:21.392003Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.392004Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-06-15T04:25:21.392004Z 01O 773 | if (!state->buffer) { 2026-06-15T04:25:21.392005Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.392005Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-06-15T04:25:21.392006Z 01O 773 | if (!state->buffer) { 2026-06-15T04:25:21.392006Z 01O | ^ 2026-06-15T04:25:21.392006Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-06-15T04:25:21.392007Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-06-15T04:25:21.392007Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.392055Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.392056Z 01O 780 | while (true) { 2026-06-15T04:25:21.392056Z 01O | ^ 2026-06-15T04:25:21.392057Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-06-15T04:25:21.392057Z 01O 782 | if (nread == 0) { 2026-06-15T04:25:21.392058Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.392076Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-06-15T04:25:21.392077Z 01O 782 | if (nread == 0) { 2026-06-15T04:25:21.392077Z 01O | ^ 2026-06-15T04:25:21.392078Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-06-15T04:25:21.392078Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-06-15T04:25:21.392079Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.392129Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-06-15T04:25:21.392129Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-06-15T04:25:21.392130Z 01O | ^ 2026-06-15T04:25:21.392130Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-06-15T04:25:21.392131Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-06-15T04:25:21.392136Z 01O | ^ ~~~~~~~~~~~~~ 2026-06-15T04:25:21.392288Z 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-06-15T04:25:21.392289Z 01O 1364 | next[p] = tail; 2026-06-15T04:25:21.392290Z 01O | ^ 2026-06-15T04:25:21.392290Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.392291Z 01O 1506 | if (verbose) 2026-06-15T04:25:21.392291Z 01O | ^~~~~~~ 2026-06-15T04:25:21.392291Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-06-15T04:25:21.392292Z 01O 1506 | if (verbose) 2026-06-15T04:25:21.392292Z 01O | ^ 2026-06-15T04:25:21.392480Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-06-15T04:25:21.392481Z 01O 1508 | if (k == 0) { 2026-06-15T04:25:21.392481Z 01O | ^~~~~~ 2026-06-15T04:25:21.392481Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-06-15T04:25:21.392482Z 01O 1508 | if (k == 0) { 2026-06-15T04:25:21.392482Z 01O | ^ 2026-06-15T04:25:21.392483Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-06-15T04:25:21.392483Z 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-06-15T04:25:21.392484Z 01O | ^~~~~~ 2026-06-15T04:25:21.392484Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-06-15T04:25:21.392485Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-06-15T04:25:21.392485Z 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-06-15T04:25:21.392486Z 01O | ^~~~~~ 2026-06-15T04:25:21.392486Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-06-15T04:25:21.392487Z 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-06-15T04:25:21.392487Z 01O | ^ 2026-06-15T04:25:21.392488Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-06-15T04:25:21.392488Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.392489Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.392489Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-06-15T04:25:21.392490Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.392490Z 01O | ^ 2026-06-15T04:25:21.392490Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-06-15T04:25:21.392491Z 01O 1567 | if (nx_mod_k) { 2026-06-15T04:25:21.392491Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.392492Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-06-15T04:25:21.392492Z 01O 1567 | if (nx_mod_k) { 2026-06-15T04:25:21.392492Z 01O | ^ 2026-06-15T04:25:21.392493Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-06-15T04:25:21.392493Z 01O 1574 | bool even = !(k % 2); 2026-06-15T04:25:21.392494Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.392494Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-06-15T04:25:21.392495Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-06-15T04:25:21.392495Z 01O | ^~~~ 2026-06-15T04:25:21.392495Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-06-15T04:25:21.392496Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-06-15T04:25:21.392496Z 01O 1579 | if (!o) { // # nocov start 2026-06-15T04:25:21.392497Z 01O | ^~ 2026-06-15T04:25:21.392497Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-06-15T04:25:21.392505Z 01O 1579 | if (!o) { // # nocov start 2026-06-15T04:25:21.392505Z 01O | ^ 2026-06-15T04:25:21.392506Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-06-15T04:25:21.392506Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-06-15T04:25:21.392507Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.392590Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-06-15T04:25:21.392590Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-06-15T04:25:21.392591Z 01O | ^ 2026-06-15T04:25:21.392591Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-06-15T04:25:21.392592Z 01O 1588 | if (!m) { // # nocov start 2026-06-15T04:25:21.392592Z 01O | ^~ 2026-06-15T04:25:21.392593Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-06-15T04:25:21.392593Z 01O 1588 | if (!m) { // # nocov start 2026-06-15T04:25:21.392594Z 01O | ^ 2026-06-15T04:25:21.392594Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-06-15T04:25:21.392594Z 01O 1594 | if (!n) { // # nocov start 2026-06-15T04:25:21.392595Z 01O | ^~ 2026-06-15T04:25:21.392595Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-06-15T04:25:21.392596Z 01O 1594 | if (!n) { // # nocov start 2026-06-15T04:25:21.392596Z 01O | ^ 2026-06-15T04:25:21.392597Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-06-15T04:25:21.392597Z 01O 1600 | if (!s) { // # nocov start 2026-06-15T04:25:21.392597Z 01O | ^~ 2026-06-15T04:25:21.392598Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-06-15T04:25:21.392598Z 01O 1600 | if (!s) { // # nocov start 2026-06-15T04:25:21.392599Z 01O | ^ 2026-06-15T04:25:21.392599Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-06-15T04:25:21.392600Z 01O 1606 | if (!prev) { // # nocov start 2026-06-15T04:25:21.392600Z 01O | ^~~~~ 2026-06-15T04:25:21.392600Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-06-15T04:25:21.392601Z 01O 1606 | if (!prev) { // # nocov start 2026-06-15T04:25:21.392601Z 01O | ^ 2026-06-15T04:25:21.392602Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-06-15T04:25:21.392602Z 01O 1612 | if (!next) { // # nocov start 2026-06-15T04:25:21.392603Z 01O | ^~~~~ 2026-06-15T04:25:21.392603Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-06-15T04:25:21.392604Z 01O 1612 | if (!next) { // # nocov start 2026-06-15T04:25:21.392604Z 01O | ^ 2026-06-15T04:25:21.392604Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-06-15T04:25:21.392605Z 01O 1618 | if (verbose) 2026-06-15T04:25:21.392605Z 01O | ^~~~~~~ 2026-06-15T04:25:21.392606Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-06-15T04:25:21.392606Z 01O 1618 | if (verbose) 2026-06-15T04:25:21.392607Z 01O | ^ 2026-06-15T04:25:21.392721Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-06-15T04:25:21.392721Z 01O 1621 | for (int j=0; j= 'k' 2026-06-15T04:25:21.392832Z 01O 1358 | for (int i=0; i=0) { 2026-06-15T04:25:21.392948Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.392949Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-06-15T04:25:21.392949Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.392950Z 01O | ^ 2026-06-15T04:25:21.392952Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-06-15T04:25:21.392952Z 01O 1567 | if (nx_mod_k) { 2026-06-15T04:25:21.392952Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.392954Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-06-15T04:25:21.392955Z 01O 1567 | if (nx_mod_k) { 2026-06-15T04:25:21.392955Z 01O | ^ 2026-06-15T04:25:21.393044Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-06-15T04:25:21.393044Z 01O 1574 | bool even = !(k % 2); 2026-06-15T04:25:21.393045Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.393045Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-06-15T04:25:21.393046Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-06-15T04:25:21.393046Z 01O | ^~~~ 2026-06-15T04:25:21.393047Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-06-15T04:25:21.393047Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-06-15T04:25:21.393048Z 01O 1579 | if (!o) { // # nocov start 2026-06-15T04:25:21.393048Z 01O | ^~ 2026-06-15T04:25:21.393048Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-06-15T04:25:21.393049Z 01O 1579 | if (!o) { // # nocov start 2026-06-15T04:25:21.393049Z 01O | ^ 2026-06-15T04:25:21.393056Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-06-15T04:25:21.393057Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-06-15T04:25:21.393058Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.393058Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-06-15T04:25:21.393059Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-06-15T04:25:21.393059Z 01O | ^ 2026-06-15T04:25:21.393061Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-06-15T04:25:21.393062Z 01O 1588 | if (!m) { // # nocov start 2026-06-15T04:25:21.393062Z 01O | ^~ 2026-06-15T04:25:21.393148Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-06-15T04:25:21.393149Z 01O 1588 | if (!m) { // # nocov start 2026-06-15T04:25:21.393149Z 01O | ^ 2026-06-15T04:25:21.393149Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-06-15T04:25:21.393150Z 01O 1594 | if (!n) { // # nocov start 2026-06-15T04:25:21.393150Z 01O | ^~ 2026-06-15T04:25:21.393151Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-06-15T04:25:21.393151Z 01O 1594 | if (!n) { // # nocov start 2026-06-15T04:25:21.393152Z 01O | ^ 2026-06-15T04:25:21.393154Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-06-15T04:25:21.393155Z 01O 1600 | if (!s) { // # nocov start 2026-06-15T04:25:21.393161Z 01O | ^~ 2026-06-15T04:25:21.393162Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-06-15T04:25:21.393162Z 01O 1600 | if (!s) { // # nocov start 2026-06-15T04:25:21.393162Z 01O | ^ 2026-06-15T04:25:21.393163Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-06-15T04:25:21.393163Z 01O 1606 | if (!prev) { // # nocov start 2026-06-15T04:25:21.393164Z 01O | ^~~~~ 2026-06-15T04:25:21.393164Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-06-15T04:25:21.393165Z 01O 1606 | if (!prev) { // # nocov start 2026-06-15T04:25:21.393165Z 01O | ^ 2026-06-15T04:25:21.393167Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-06-15T04:25:21.393168Z 01O 1612 | if (!next) { // # nocov start 2026-06-15T04:25:21.393169Z 01O | ^~~~~ 2026-06-15T04:25:21.393169Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-06-15T04:25:21.393169Z 01O 1612 | if (!next) { // # nocov start 2026-06-15T04:25:21.393170Z 01O | ^ 2026-06-15T04:25:21.393171Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-06-15T04:25:21.393172Z 01O 1618 | if (verbose) 2026-06-15T04:25:21.393172Z 01O | ^~~~~~~ 2026-06-15T04:25:21.393249Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-06-15T04:25:21.393250Z 01O 1618 | if (verbose) 2026-06-15T04:25:21.393250Z 01O | ^ 2026-06-15T04:25:21.393251Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-06-15T04:25:21.393251Z 01O 1621 | for (int j=0; j= 'b' 2026-06-15T04:25:21.393449Z 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-06-15T04:25:21.393568Z 01O | ^~~ 2026-06-15T04:25:21.393568Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-06-15T04:25:21.393584Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.393584Z 01O 1633 | for (int i=0; i= 'm' 2026-06-15T04:25:21.394259Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-06-15T04:25:21.394260Z 01O | ^~~~~ 2026-06-15T04:25:21.394262Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-06-15T04:25:21.394263Z 01O 1393 | if (SMALL(i)) { 2026-06-15T04:25:21.394263Z 01O | ^ 2026-06-15T04:25:21.394264Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-06-15T04:25:21.394264Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-06-15T04:25:21.394265Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.394265Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-06-15T04:25:21.394266Z 01O 1393 | if (SMALL(i)) { 2026-06-15T04:25:21.394266Z 01O | ^ 2026-06-15T04:25:21.394268Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-06-15T04:25:21.394269Z 01O 1396 | if (m[0] == i) { 2026-06-15T04:25:21.394269Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.394270Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-06-15T04:25:21.394270Z 01O 1396 | if (m[0] == i) { 2026-06-15T04:25:21.394271Z 01O | ^ 2026-06-15T04:25:21.394363Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-06-15T04:25:21.394364Z 01O 1399 | if (s[0] > 0) { 2026-06-15T04:25:21.394365Z 01O | ^ 2026-06-15T04:25:21.394374Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-06-15T04:25:21.394375Z 01O 1400 | m[0] = prev[m[0]]; 2026-06-15T04:25:21.394375Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.394376Z 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-06-15T04:25:21.394376Z 01O 1471 | m[0] = prev[m[0]]; 2026-06-15T04:25:21.394377Z 01O | ^ 2026-06-15T04:25:21.394379Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.394379Z 01O 1506 | if (verbose) 2026-06-15T04:25:21.394380Z 01O | ^~~~~~~ 2026-06-15T04:25:21.394380Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-06-15T04:25:21.394381Z 01O 1506 | if (verbose) 2026-06-15T04:25:21.394381Z 01O | ^ 2026-06-15T04:25:21.394383Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-06-15T04:25:21.394383Z 01O 1508 | if (k == 0) { 2026-06-15T04:25:21.394384Z 01O | ^~~~~~ 2026-06-15T04:25:21.394386Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-06-15T04:25:21.394386Z 01O 1508 | if (k == 0) { 2026-06-15T04:25:21.394387Z 01O | ^ 2026-06-15T04:25:21.394389Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-06-15T04:25:21.394389Z 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-06-15T04:25:21.394390Z 01O | ^~~~~~ 2026-06-15T04:25:21.394390Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-06-15T04:25:21.394464Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-06-15T04:25:21.394465Z 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-06-15T04:25:21.394466Z 01O | ^~~~~~ 2026-06-15T04:25:21.394466Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-06-15T04:25:21.394467Z 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-06-15T04:25:21.394467Z 01O | ^ 2026-06-15T04:25:21.394470Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-06-15T04:25:21.394470Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.394471Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.394471Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-06-15T04:25:21.394471Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.394472Z 01O | ^ 2026-06-15T04:25:21.394474Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-06-15T04:25:21.394475Z 01O 1567 | if (nx_mod_k) { 2026-06-15T04:25:21.394475Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.394476Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-06-15T04:25:21.394476Z 01O 1567 | if (nx_mod_k) { 2026-06-15T04:25:21.394477Z 01O | ^ 2026-06-15T04:25:21.394477Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-06-15T04:25:21.394478Z 01O 1574 | bool even = !(k % 2); 2026-06-15T04:25:21.394478Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.394482Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-06-15T04:25:21.394483Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-06-15T04:25:21.394483Z 01O | ^~~~ 2026-06-15T04:25:21.394484Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-06-15T04:25:21.394484Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-06-15T04:25:21.394489Z 01O 1579 | if (!o) { // # nocov start 2026-06-15T04:25:21.394490Z 01O | ^~ 2026-06-15T04:25:21.394654Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-06-15T04:25:21.394654Z 01O 1579 | if (!o) { // # nocov start 2026-06-15T04:25:21.394655Z 01O | ^ 2026-06-15T04:25:21.394655Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-06-15T04:25:21.394656Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-06-15T04:25:21.394656Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.394659Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-06-15T04:25:21.394660Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-06-15T04:25:21.394661Z 01O | ^ 2026-06-15T04:25:21.394661Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-06-15T04:25:21.394661Z 01O 1588 | if (!m) { // # nocov start 2026-06-15T04:25:21.394662Z 01O | ^~ 2026-06-15T04:25:21.394662Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-06-15T04:25:21.394663Z 01O 1588 | if (!m) { // # nocov start 2026-06-15T04:25:21.394663Z 01O | ^ 2026-06-15T04:25:21.394664Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-06-15T04:25:21.394664Z 01O 1594 | if (!n) { // # nocov start 2026-06-15T04:25:21.394665Z 01O | ^~ 2026-06-15T04:25:21.394665Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-06-15T04:25:21.394665Z 01O 1594 | if (!n) { // # nocov start 2026-06-15T04:25:21.394666Z 01O | ^ 2026-06-15T04:25:21.394668Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-06-15T04:25:21.394668Z 01O 1600 | if (!s) { // # nocov start 2026-06-15T04:25:21.394669Z 01O | ^~ 2026-06-15T04:25:21.394669Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-06-15T04:25:21.394670Z 01O 1600 | if (!s) { // # nocov start 2026-06-15T04:25:21.394670Z 01O | ^ 2026-06-15T04:25:21.394726Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-06-15T04:25:21.394727Z 01O 1606 | if (!prev) { // # nocov start 2026-06-15T04:25:21.394727Z 01O | ^~~~~ 2026-06-15T04:25:21.394730Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-06-15T04:25:21.394731Z 01O 1606 | if (!prev) { // # nocov start 2026-06-15T04:25:21.394731Z 01O | ^ 2026-06-15T04:25:21.394732Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-06-15T04:25:21.394732Z 01O 1612 | if (!next) { // # nocov start 2026-06-15T04:25:21.394733Z 01O | ^~~~~ 2026-06-15T04:25:21.394733Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-06-15T04:25:21.394733Z 01O 1612 | if (!next) { // # nocov start 2026-06-15T04:25:21.394734Z 01O | ^ 2026-06-15T04:25:21.394734Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-06-15T04:25:21.394735Z 01O 1618 | if (verbose) 2026-06-15T04:25:21.394735Z 01O | ^~~~~~~ 2026-06-15T04:25:21.394736Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-06-15T04:25:21.394736Z 01O 1618 | if (verbose) 2026-06-15T04:25:21.394736Z 01O | ^ 2026-06-15T04:25:21.394738Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-06-15T04:25:21.394739Z 01O 1621 | for (int j=0; j= 'b' 2026-06-15T04:25:21.394936Z 01O 1621 | for (int j=0; j= 'm' 2026-06-15T04:25:21.395589Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-06-15T04:25:21.395589Z 01O | ^~~~~ 2026-06-15T04:25:21.395593Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-06-15T04:25:21.395594Z 01O 1460 | if (SMALL(i)) { 2026-06-15T04:25:21.395595Z 01O | ^ 2026-06-15T04:25:21.395595Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-06-15T04:25:21.395603Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-06-15T04:25:21.395603Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.395604Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-06-15T04:25:21.395604Z 01O 1460 | if (SMALL(i)) { 2026-06-15T04:25:21.395605Z 01O | ^ 2026-06-15T04:25:21.395605Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-06-15T04:25:21.395606Z 01O 1463 | if (m[0] == i) { 2026-06-15T04:25:21.395606Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.395606Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-06-15T04:25:21.395607Z 01O 1463 | if (m[0] == i) { 2026-06-15T04:25:21.395607Z 01O | ^ 2026-06-15T04:25:21.395608Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-06-15T04:25:21.395608Z 01O 1467 | } else if (even && n[0] == i) { 2026-06-15T04:25:21.395609Z 01O | ^~~~ 2026-06-15T04:25:21.395717Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-06-15T04:25:21.395721Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-06-15T04:25:21.395722Z 01O 1467 | } else if (even && n[0] == i) { 2026-06-15T04:25:21.395722Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.395723Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-06-15T04:25:21.395723Z 01O 1467 | } else if (even && n[0] == i) { 2026-06-15T04:25:21.395724Z 01O | ^ 2026-06-15T04:25:21.395724Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-06-15T04:25:21.395724Z 01O 1470 | if (s[0] > 0) { 2026-06-15T04:25:21.395725Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.395725Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-06-15T04:25:21.395726Z 01O 1470 | if (s[0] > 0) { 2026-06-15T04:25:21.395726Z 01O | ^ 2026-06-15T04:25:21.395728Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-06-15T04:25:21.395729Z 01O 1471 | m[0] = prev[m[0]]; 2026-06-15T04:25:21.395729Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.395732Z 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-06-15T04:25:21.395733Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-06-15T04:25:21.395733Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.395734Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.395734Z 01O 1506 | if (verbose) 2026-06-15T04:25:21.395735Z 01O | ^~~~~~~ 2026-06-15T04:25:21.395735Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-06-15T04:25:21.395736Z 01O 1506 | if (verbose) 2026-06-15T04:25:21.395736Z 01O | ^ 2026-06-15T04:25:21.395830Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-06-15T04:25:21.395831Z 01O 1508 | if (k == 0) { 2026-06-15T04:25:21.395831Z 01O | ^~~~~~ 2026-06-15T04:25:21.395832Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-06-15T04:25:21.395832Z 01O 1508 | if (k == 0) { 2026-06-15T04:25:21.395833Z 01O | ^ 2026-06-15T04:25:21.395833Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-06-15T04:25:21.395834Z 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-06-15T04:25:21.395834Z 01O | ^~~~~~ 2026-06-15T04:25:21.395835Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-06-15T04:25:21.395842Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-06-15T04:25:21.395842Z 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-06-15T04:25:21.395843Z 01O | ^~~~~~ 2026-06-15T04:25:21.395846Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-06-15T04:25:21.395846Z 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-06-15T04:25:21.395847Z 01O | ^ 2026-06-15T04:25:21.395847Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-06-15T04:25:21.395848Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.395848Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.395849Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-06-15T04:25:21.395849Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.395850Z 01O | ^ 2026-06-15T04:25:21.395942Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-06-15T04:25:21.395943Z 01O 1549 | for (uint64_t i=0; i= 0 2026-06-15T04:25:21.396187Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.396187Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.396188Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-06-15T04:25:21.396188Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.396189Z 01O | ^ 2026-06-15T04:25:21.396195Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-06-15T04:25:21.396195Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-06-15T04:25:21.396465Z 01O 1549 | for (uint64_t i=0; i= 0 2026-06-15T04:25:21.397281Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.397281Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.397282Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-06-15T04:25:21.397282Z 01O 1548 | if (hasnf>=0) { 2026-06-15T04:25:21.397283Z 01O | ^ 2026-06-15T04:25:21.397285Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-06-15T04:25:21.397286Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-06-15T04:25:21.397337Z 01O 1549 | for (uint64_t i=0; i 0 2026-06-15T04:25:21.398254Z 01O 541 | bool truehasnf = hasnf>0; 2026-06-15T04:25:21.398254Z 01O | ^~~~~~~ 2026-06-15T04:25:21.398256Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-06-15T04:25:21.398257Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-06-15T04:25:21.398374Z 01O 542 | for (uint64_t i=0; i 0 2026-06-15T04:25:21.398729Z 01O 616 | bool truehasnf = hasnf>0; 2026-06-15T04:25:21.398730Z 01O | ^~~~~~~ 2026-06-15T04:25:21.398819Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-06-15T04:25:21.398820Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-06-15T04:25:21.398842Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-06-15T04:25:21.399239Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-06-15T04:25:21.399769Z 01O | ^ 2026-06-15T04:25:21.399769Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-06-15T04:25:21.399770Z 01O 888 | if (i+1 == ik) { 2026-06-15T04:25:21.399770Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.399771Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-06-15T04:25:21.399771Z 01O 888 | if (i+1 == ik) { 2026-06-15T04:25:21.399771Z 01O | ^ 2026-06-15T04:25:21.399845Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-06-15T04:25:21.399846Z 01O 890 | } else if (i+1 < ik) { 2026-06-15T04:25:21.399846Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.399846Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-06-15T04:25:21.399847Z 01O 890 | } else if (i+1 < ik) { 2026-06-15T04:25:21.399847Z 01O | ^ 2026-06-15T04:25:21.399850Z 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-06-15T04:25:21.399851Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-06-15T04:25:21.399851Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.399852Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-06-15T04:25:21.399852Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-06-15T04:25:21.399853Z 01O | ^ 2026-06-15T04:25:21.399929Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-06-15T04:25:21.399930Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-06-15T04:25:21.399931Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.399931Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-06-15T04:25:21.399932Z 01O 998 | if (!nc) { // total NA for x 2026-06-15T04:25:21.399932Z 01O | ^~ 2026-06-15T04:25:21.399933Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-06-15T04:25:21.399933Z 01O 998 | if (!nc) { // total NA for x 2026-06-15T04:25:21.399934Z 01O | ^ 2026-06-15T04:25:21.399934Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.399934Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-06-15T04:25:21.400535Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-06-15T04:25:21.400877Z 01O | ^~~~~~~ 2026-06-15T04:25:21.400878Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-06-15T04:25:21.400878Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-06-15T04:25:21.400879Z 01O | ^ 2026-06-15T04:25:21.400879Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-06-15T04:25:21.400880Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-06-15T04:25:21.400880Z 01O | ^ 2026-06-15T04:25:21.400881Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-06-15T04:25:21.400881Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-06-15T04:25:21.400882Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.400882Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-06-15T04:25:21.400885Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-06-15T04:25:21.400890Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-06-15T04:25:21.400890Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.400891Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-06-15T04:25:21.400891Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-06-15T04:25:21.400892Z 01O | ^ 2026-06-15T04:25:21.400894Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-06-15T04:25:21.400895Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-06-15T04:25:21.400895Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.400897Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-06-15T04:25:21.400898Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-06-15T04:25:21.400898Z 01O | ^ 2026-06-15T04:25:21.400986Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-06-15T04:25:21.400986Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-06-15T04:25:21.401083Z 01O | ^~~~~~~ 2026-06-15T04:25:21.401084Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-06-15T04:25:21.401084Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-06-15T04:25:21.401085Z 01O | ^ 2026-06-15T04:25:21.401090Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-06-15T04:25:21.401090Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-06-15T04:25:21.401091Z 01O | ^ 2026-06-15T04:25:21.401091Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-06-15T04:25:21.401092Z 01O 122 | if (!counts || !TMP ) { 2026-06-15T04:25:21.401092Z 01O | ^~~~~~~ 2026-06-15T04:25:21.401095Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-06-15T04:25:21.401100Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-06-15T04:25:21.401101Z 01O 122 | if (!counts || !TMP ) { 2026-06-15T04:25:21.401101Z 01O | ^~~~ 2026-06-15T04:25:21.401102Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-06-15T04:25:21.401102Z 01O 122 | if (!counts || !TMP ) { 2026-06-15T04:25:21.401103Z 01O | ^ 2026-06-15T04:25:21.401111Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-06-15T04:25:21.401112Z 01O 127 | for (int b=0; b= 'howMany' 2026-06-15T04:25:21.401206Z 01O 131 | for (int i=0; i= 'highSize' 2026-06-15T04:25:21.401212Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-06-15T04:25:21.401803Z 01O | ^ 2026-06-15T04:25:21.401803Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-06-15T04:25:21.401804Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-06-15T04:25:21.401804Z 01O | ^ ~ 2026-06-15T04:25:21.401945Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-06-15T04:25:21.401945Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-06-15T04:25:21.401946Z 01O | ^ ~ 2026-06-15T04:25:21.401946Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-06-15T04:25:21.401947Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.401947Z 01O | ^ 2026-06-15T04:25:21.401948Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.401948Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.401949Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.401949Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-06-15T04:25:21.401950Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.401950Z 01O | ^ 2026-06-15T04:25:21.401969Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.401970Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.401971Z 01O | ^ 2026-06-15T04:25:21.401971Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-06-15T04:25:21.401972Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.401972Z 01O | ^ 2026-06-15T04:25:21.401972Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.401973Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.401974Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.401974Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-06-15T04:25:21.401975Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.401975Z 01O | ^ 2026-06-15T04:25:21.402066Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.402067Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.402067Z 01O | ^ 2026-06-15T04:25:21.402068Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-06-15T04:25:21.402068Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.402069Z 01O | ^ 2026-06-15T04:25:21.402071Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.402076Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.402077Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.402081Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-06-15T04:25:21.402081Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.402082Z 01O | ^ 2026-06-15T04:25:21.402082Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-06-15T04:25:21.402083Z 01O 1120 | if (!isVectorAtomic(x)) 2026-06-15T04:25:21.402083Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.402083Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-06-15T04:25:21.402084Z 01O 1120 | if (!isVectorAtomic(x)) 2026-06-15T04:25:21.402084Z 01O | ^ 2026-06-15T04:25:21.402088Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-06-15T04:25:21.402088Z 01O 1122 | if (inherits(x, "factor")) 2026-06-15T04:25:21.402089Z 01O | ^ 2026-06-15T04:25:21.402089Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-06-15T04:25:21.402090Z 01O 933 | #define inherits Rf_inherits 2026-06-15T04:25:21.402090Z 01O | ^ 2026-06-15T04:25:21.402091Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-06-15T04:25:21.402091Z 01O 1122 | if (inherits(x, "factor")) 2026-06-15T04:25:21.402092Z 01O | ^ 2026-06-15T04:25:21.402092Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-06-15T04:25:21.402093Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-06-15T04:25:21.402093Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.402096Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-06-15T04:25:21.402097Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-06-15T04:25:21.402097Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.402181Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-06-15T04:25:21.402182Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-06-15T04:25:21.402182Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-06-15T04:25:21.402183Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.402187Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-06-15T04:25:21.402188Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-06-15T04:25:21.402188Z 01O | ^ 2026-06-15T04:25:21.402189Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-06-15T04:25:21.402189Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-06-15T04:25:21.402190Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.402190Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-06-15T04:25:21.402191Z 01O 1129 | if (!s) 2026-06-15T04:25:21.402191Z 01O | ^~ 2026-06-15T04:25:21.402192Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-06-15T04:25:21.402192Z 01O 1129 | if (!s) 2026-06-15T04:25:21.402193Z 01O | ^ 2026-06-15T04:25:21.402243Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-06-15T04:25:21.402244Z 01O 1131 | for (int i=0; i= 'n' 2026-06-15T04:25:21.402257Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-06-15T04:25:21.402382Z 01O | ^ 2026-06-15T04:25:21.402383Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-06-15T04:25:21.402383Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-06-15T04:25:21.402384Z 01O | ^ ~ 2026-06-15T04:25:21.402384Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-06-15T04:25:21.402385Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-06-15T04:25:21.402385Z 01O | ^ ~ 2026-06-15T04:25:21.402422Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-06-15T04:25:21.402423Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-06-15T04:25:21.402424Z 01O | ~~~~ ^ 2026-06-15T04:25:21.402464Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-06-15T04:25:21.402465Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.402465Z 01O | ^ 2026-06-15T04:25:21.402520Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.402521Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.402522Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.402527Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-06-15T04:25:21.402528Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.402528Z 01O | ^ 2026-06-15T04:25:21.402572Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.402572Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.402573Z 01O | ^ 2026-06-15T04:25:21.402587Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-06-15T04:25:21.402588Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.402589Z 01O | ^ 2026-06-15T04:25:21.402589Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.402590Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.402590Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.402706Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-06-15T04:25:21.402706Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.402707Z 01O | ^ 2026-06-15T04:25:21.402707Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.402708Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.402708Z 01O | ^ 2026-06-15T04:25:21.402709Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-06-15T04:25:21.402709Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.402710Z 01O | ^ 2026-06-15T04:25:21.402713Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.402714Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.402714Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.402715Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-06-15T04:25:21.402715Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-06-15T04:25:21.402716Z 01O | ^ 2026-06-15T04:25:21.402811Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-06-15T04:25:21.402812Z 01O 1120 | if (!isVectorAtomic(x)) 2026-06-15T04:25:21.402812Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.402816Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-06-15T04:25:21.402816Z 01O 1120 | if (!isVectorAtomic(x)) 2026-06-15T04:25:21.402817Z 01O | ^ 2026-06-15T04:25:21.402817Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-06-15T04:25:21.402818Z 01O 1122 | if (inherits(x, "factor")) 2026-06-15T04:25:21.402818Z 01O | ^ 2026-06-15T04:25:21.402818Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-06-15T04:25:21.402819Z 01O 933 | #define inherits Rf_inherits 2026-06-15T04:25:21.402819Z 01O | ^ 2026-06-15T04:25:21.402820Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-06-15T04:25:21.402820Z 01O 1122 | if (inherits(x, "factor")) 2026-06-15T04:25:21.402821Z 01O | ^ 2026-06-15T04:25:21.402825Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-06-15T04:25:21.402825Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-06-15T04:25:21.402826Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.402831Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-06-15T04:25:21.402831Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-06-15T04:25:21.402832Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.402832Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-06-15T04:25:21.402916Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-06-15T04:25:21.402917Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-06-15T04:25:21.402917Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.402918Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-06-15T04:25:21.402918Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-06-15T04:25:21.402919Z 01O | ^ 2026-06-15T04:25:21.402919Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-06-15T04:25:21.402920Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-06-15T04:25:21.402920Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.402921Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-06-15T04:25:21.402921Z 01O 1129 | if (!s) 2026-06-15T04:25:21.402922Z 01O | ^~ 2026-06-15T04:25:21.402922Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-06-15T04:25:21.402922Z 01O 1129 | if (!s) 2026-06-15T04:25:21.402923Z 01O | ^ 2026-06-15T04:25:21.402926Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-06-15T04:25:21.402926Z 01O 1131 | for (int i=0; i= 'n' 2026-06-15T04:25:21.402933Z 01O 1135 | for (int i=0; i' is a garbage value 2026-06-15T04:25:21.403059Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-06-15T04:25:21.403060Z 01O | ~~~~ ^ 2026-06-15T04:25:21.403163Z 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-06-15T04:25:21.403164Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-06-15T04:25:21.403165Z 01O | ^ 2026-06-15T04:25:21.403165Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-06-15T04:25:21.403166Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-06-15T04:25:21.403166Z 01O | ^ 2026-06-15T04:25:21.403167Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-06-15T04:25:21.403167Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-06-15T04:25:21.403168Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.403168Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-06-15T04:25:21.403169Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-06-15T04:25:21.403169Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403169Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-06-15T04:25:21.403170Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-06-15T04:25:21.403170Z 01O | ^ 2026-06-15T04:25:21.403171Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-06-15T04:25:21.403171Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-06-15T04:25:21.403172Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403172Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-06-15T04:25:21.403173Z 01O 54 | if (!ret) 2026-06-15T04:25:21.403173Z 01O | ^~~~ 2026-06-15T04:25:21.403174Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-06-15T04:25:21.403174Z 01O 54 | if (!ret) 2026-06-15T04:25:21.403175Z 01O | ^ 2026-06-15T04:25:21.403181Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-06-15T04:25:21.403181Z 01O 59 | if (!table) { 2026-06-15T04:25:21.403182Z 01O | ^~~~~~ 2026-06-15T04:25:21.403182Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-06-15T04:25:21.403183Z 01O 59 | if (!table) { 2026-06-15T04:25:21.403183Z 01O | ^ 2026-06-15T04:25:21.403241Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-06-15T04:25:21.403241Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-06-15T04:25:21.403242Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403244Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-06-15T04:25:21.403245Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-06-15T04:25:21.403245Z 01O | ^ 2026-06-15T04:25:21.403246Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-06-15T04:25:21.403246Z 01O 71 | ret->shift = HASH_BITS - k; 2026-06-15T04:25:21.403247Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403287Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-06-15T04:25:21.403288Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-06-15T04:25:21.403295Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403295Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-06-15T04:25:21.403296Z 01O 133 | if (!new_h) return NULL; 2026-06-15T04:25:21.403296Z 01O | ^~~~~ 2026-06-15T04:25:21.403297Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-06-15T04:25:21.403297Z 01O 133 | if (!new_h) return NULL; 2026-06-15T04:25:21.403298Z 01O | ^ 2026-06-15T04:25:21.403298Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-06-15T04:25:21.403299Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-06-15T04:25:21.403299Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.403299Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.403300Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-06-15T04:25:21.403301Z 01O | ^ 2026-06-15T04:25:21.403301Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-06-15T04:25:21.403302Z 01O 138 | if (h->table[i].key) 2026-06-15T04:25:21.403303Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403304Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-06-15T04:25:21.403305Z 01O 138 | if (h->table[i].key) 2026-06-15T04:25:21.403305Z 01O | ^ 2026-06-15T04:25:21.403421Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-06-15T04:25:21.403422Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-06-15T04:25:21.403423Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403427Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-06-15T04:25:21.403428Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-06-15T04:25:21.403429Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.403429Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-06-15T04:25:21.403430Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-06-15T04:25:21.403430Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403431Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-06-15T04:25:21.403431Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-06-15T04:25:21.403432Z 01O | ^ 2026-06-15T04:25:21.403439Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-06-15T04:25:21.403440Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-06-15T04:25:21.403441Z 01O | ^ 2026-06-15T04:25:21.403441Z 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-06-15T04:25:21.403442Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-06-15T04:25:21.403442Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-06-15T04:25:21.403570Z 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-06-15T04:25:21.403571Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-06-15T04:25:21.403571Z 01O | ^ 2026-06-15T04:25:21.403572Z 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-06-15T04:25:21.403586Z 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-06-15T04:25:21.403587Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-06-15T04:25:21.403588Z 01O | ^ 2026-06-15T04:25:21.403588Z 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-06-15T04:25:21.403691Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.403692Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-06-15T04:25:21.403692Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403693Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-06-15T04:25:21.403693Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-06-15T04:25:21.403694Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403750Z 01O /builds/Rdatatable/data.table/src/nafill.c:10:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.403751Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-06-15T04:25:21.403752Z 01O | ^ 2026-06-15T04:25:21.403755Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.403755Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.403756Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.403756Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.403757Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.403757Z 01O | ^ 2026-06-15T04:25:21.403758Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.403758Z 01O 128 | if (verbose) 2026-06-15T04:25:21.403758Z 01O | ^~~~~~~ 2026-06-15T04:25:21.403759Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.403759Z 01O 128 | if (verbose) 2026-06-15T04:25:21.403760Z 01O | ^ 2026-06-15T04:25:21.403861Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.403862Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.403862Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403862Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.403863Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.403863Z 01O | ^ 2026-06-15T04:25:21.403868Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.403869Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.403869Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.403870Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.403870Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.403871Z 01O | ^ 2026-06-15T04:25:21.403871Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.403872Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.403872Z 01O | ^ 2026-06-15T04:25:21.403966Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.403971Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.403972Z 01O | ^ 2026-06-15T04:25:21.403976Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.403976Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.403977Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.403978Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.403978Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.403979Z 01O | ^ 2026-06-15T04:25:21.403979Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.403980Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.403980Z 01O | ^ 2026-06-15T04:25:21.404077Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.404077Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.404078Z 01O | ^ 2026-06-15T04:25:21.404078Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.404079Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.404079Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.404080Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.404080Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.404081Z 01O | ^ 2026-06-15T04:25:21.404081Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.404082Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.404082Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.404084Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.404085Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.404085Z 01O | ^ 2026-06-15T04:25:21.404087Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.404088Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.404186Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-06-15T04:25:21.404881Z 01O | ^ 2026-06-15T04:25:21.404881Z 01O /builds/Rdatatable/data.table/src/nafill.c:14:30: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.404882Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-06-15T04:25:21.404883Z 01O | ^ 2026-06-15T04:25:21.404883Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.404884Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.404884Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.404884Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.404885Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.404885Z 01O | ^ 2026-06-15T04:25:21.404886Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.404886Z 01O 128 | if (verbose) 2026-06-15T04:25:21.404887Z 01O | ^~~~~~~ 2026-06-15T04:25:21.404887Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.404887Z 01O 128 | if (verbose) 2026-06-15T04:25:21.404888Z 01O | ^ 2026-06-15T04:25:21.404989Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.404990Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.404991Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.404994Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.404995Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.404995Z 01O | ^ 2026-06-15T04:25:21.404996Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.405000Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.405001Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.405013Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.405014Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.405014Z 01O | ^ 2026-06-15T04:25:21.405015Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.405015Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.405016Z 01O | ^ 2026-06-15T04:25:21.405016Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.405017Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.405017Z 01O | ^ 2026-06-15T04:25:21.405018Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.405018Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.405019Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.405019Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.405020Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.405020Z 01O | ^ 2026-06-15T04:25:21.405096Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.405097Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.405097Z 01O | ^ 2026-06-15T04:25:21.405098Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.405098Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.405099Z 01O | ^ 2026-06-15T04:25:21.405102Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.405103Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.405104Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.405104Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.405105Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.405105Z 01O | ^ 2026-06-15T04:25:21.405106Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.405106Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.405107Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.405107Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.405108Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.405108Z 01O | ^ 2026-06-15T04:25:21.405114Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.405115Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.405326Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-06-15T04:25:21.405898Z 01O | ^ 2026-06-15T04:25:21.405898Z 01O /builds/Rdatatable/data.table/src/nafill.c:19:29: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.405899Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-06-15T04:25:21.405899Z 01O | ^ 2026-06-15T04:25:21.405900Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.405900Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.405901Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.405901Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.405902Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.405902Z 01O | ^ 2026-06-15T04:25:21.405904Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.405909Z 01O 128 | if (verbose) 2026-06-15T04:25:21.405910Z 01O | ^~~~~~~ 2026-06-15T04:25:21.405910Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.405911Z 01O 128 | if (verbose) 2026-06-15T04:25:21.405911Z 01O | ^ 2026-06-15T04:25:21.405992Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.405993Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.405993Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.405999Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.405999Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406000Z 01O | ^ 2026-06-15T04:25:21.406000Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406001Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406001Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.406002Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.406002Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406003Z 01O | ^ 2026-06-15T04:25:21.406003Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406004Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406004Z 01O | ^ 2026-06-15T04:25:21.406094Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.406095Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406095Z 01O | ^ 2026-06-15T04:25:21.406100Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406101Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406101Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.406102Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.406102Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406103Z 01O | ^ 2026-06-15T04:25:21.406103Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406104Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406104Z 01O | ^ 2026-06-15T04:25:21.406105Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.406105Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406106Z 01O | ^ 2026-06-15T04:25:21.406109Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406109Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406110Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.406110Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.406111Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406111Z 01O | ^ 2026-06-15T04:25:21.406239Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.406244Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.406245Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.406255Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.406282Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.406282Z 01O | ^ 2026-06-15T04:25:21.406283Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.406283Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.406349Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-06-15T04:25:21.406776Z 01O | ^ 2026-06-15T04:25:21.406793Z 01O /builds/Rdatatable/data.table/src/nafill.c:24:28: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.406794Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-06-15T04:25:21.406795Z 01O | ^ 2026-06-15T04:25:21.406795Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.406796Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.406796Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.406797Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.406797Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.406798Z 01O | ^ 2026-06-15T04:25:21.406798Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.406799Z 01O 128 | if (verbose) 2026-06-15T04:25:21.406799Z 01O | ^~~~~~~ 2026-06-15T04:25:21.406800Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.406800Z 01O 128 | if (verbose) 2026-06-15T04:25:21.406801Z 01O | ^ 2026-06-15T04:25:21.406874Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.406875Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.406876Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.406876Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.406877Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406877Z 01O | ^ 2026-06-15T04:25:21.406884Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406885Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406886Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.406886Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.406887Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406888Z 01O | ^ 2026-06-15T04:25:21.406974Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406975Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406976Z 01O | ^ 2026-06-15T04:25:21.406981Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.406982Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406982Z 01O | ^ 2026-06-15T04:25:21.406983Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406983Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406984Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.406984Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.406985Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.406986Z 01O | ^ 2026-06-15T04:25:21.406986Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.406992Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.406993Z 01O | ^ 2026-06-15T04:25:21.407092Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.407093Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.407093Z 01O | ^ 2026-06-15T04:25:21.407107Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.407108Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.407109Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.407109Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.407110Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.407110Z 01O | ^ 2026-06-15T04:25:21.407111Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.407111Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.407112Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.407112Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.407113Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.407113Z 01O | ^ 2026-06-15T04:25:21.407113Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.407114Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.407217Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-06-15T04:25:21.407767Z 01O | ^ 2026-06-15T04:25:21.407775Z 01O /builds/Rdatatable/data.table/src/nafill.c:31:32: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.407776Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-06-15T04:25:21.407776Z 01O | ^ 2026-06-15T04:25:21.407777Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.407777Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.407777Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.407778Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.407778Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.407779Z 01O | ^ 2026-06-15T04:25:21.407781Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.407782Z 01O 128 | if (verbose) 2026-06-15T04:25:21.407782Z 01O | ^~~~~~~ 2026-06-15T04:25:21.407782Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.407783Z 01O 128 | if (verbose) 2026-06-15T04:25:21.407783Z 01O | ^ 2026-06-15T04:25:21.407785Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.407786Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.407786Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.407861Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.407861Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.407862Z 01O | ^ 2026-06-15T04:25:21.407862Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.407863Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.407863Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.407864Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.407869Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.407870Z 01O | ^ 2026-06-15T04:25:21.407872Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.407873Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.407874Z 01O | ^ 2026-06-15T04:25:21.407877Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.407877Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.407878Z 01O | ^ 2026-06-15T04:25:21.407878Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.407879Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.407879Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.407973Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.407974Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.407974Z 01O | ^ 2026-06-15T04:25:21.407975Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.407975Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.407976Z 01O | ^ 2026-06-15T04:25:21.407979Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.407980Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.407980Z 01O | ^ 2026-06-15T04:25:21.407980Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.407981Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.407982Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.408065Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.408066Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.408066Z 01O | ^ 2026-06-15T04:25:21.408066Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.408067Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.408067Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.408068Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.408068Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.408069Z 01O | ^ 2026-06-15T04:25:21.408069Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.408070Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.408198Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-06-15T04:25:21.408838Z 01O | ^ 2026-06-15T04:25:21.408839Z 01O /builds/Rdatatable/data.table/src/nafill.c:36:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.408839Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-06-15T04:25:21.408840Z 01O | ^ 2026-06-15T04:25:21.408926Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.408927Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.408927Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.408934Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.408935Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.408935Z 01O | ^ 2026-06-15T04:25:21.408936Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.408936Z 01O 128 | if (verbose) 2026-06-15T04:25:21.408937Z 01O | ^~~~~~~ 2026-06-15T04:25:21.408937Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.408938Z 01O 128 | if (verbose) 2026-06-15T04:25:21.408938Z 01O | ^ 2026-06-15T04:25:21.408938Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.408939Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.408939Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.408940Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.408940Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.408941Z 01O | ^ 2026-06-15T04:25:21.408941Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.408942Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.408942Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.408943Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.408943Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.408944Z 01O | ^ 2026-06-15T04:25:21.409037Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.409037Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.409038Z 01O | ^ 2026-06-15T04:25:21.409038Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.409039Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.409039Z 01O | ^ 2026-06-15T04:25:21.409047Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.409047Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.409048Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.409048Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.409049Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.409049Z 01O | ^ 2026-06-15T04:25:21.409050Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.409050Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.409056Z 01O | ^ 2026-06-15T04:25:21.409149Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.409150Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.409150Z 01O | ^ 2026-06-15T04:25:21.409154Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.409154Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.409155Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.409156Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.409156Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.409157Z 01O | ^ 2026-06-15T04:25:21.409161Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.409162Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.409162Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.409163Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.409163Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.409163Z 01O | ^ 2026-06-15T04:25:21.409164Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.409164Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.409289Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-06-15T04:25:21.409916Z 01O | ^ 2026-06-15T04:25:21.409917Z 01O /builds/Rdatatable/data.table/src/nafill.c:73:25: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.409918Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-06-15T04:25:21.409918Z 01O | ^ 2026-06-15T04:25:21.410000Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.410001Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.410001Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.410002Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.410002Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.410003Z 01O | ^ 2026-06-15T04:25:21.410004Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.410004Z 01O 128 | if (verbose) 2026-06-15T04:25:21.410005Z 01O | ^~~~~~~ 2026-06-15T04:25:21.410006Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.410007Z 01O 128 | if (verbose) 2026-06-15T04:25:21.410007Z 01O | ^ 2026-06-15T04:25:21.410008Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.410014Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.410014Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.410015Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.410015Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.410016Z 01O | ^ 2026-06-15T04:25:21.410021Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.410021Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.410022Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.410022Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.410023Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.410023Z 01O | ^ 2026-06-15T04:25:21.410024Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.410024Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.410025Z 01O | ^ 2026-06-15T04:25:21.410108Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.410108Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.410109Z 01O | ^ 2026-06-15T04:25:21.410114Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.410114Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.410115Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.410115Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.410116Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.410116Z 01O | ^ 2026-06-15T04:25:21.410117Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.410117Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.410118Z 01O | ^ 2026-06-15T04:25:21.410118Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.410119Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.410119Z 01O | ^ 2026-06-15T04:25:21.410122Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.410123Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.410124Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.410124Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.410125Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.410125Z 01O | ^ 2026-06-15T04:25:21.410211Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.410212Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.410212Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.410213Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.410213Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.410214Z 01O | ^ 2026-06-15T04:25:21.410214Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.410215Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.410346Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-06-15T04:25:21.410885Z 01O | ^ 2026-06-15T04:25:21.410890Z 01O /builds/Rdatatable/data.table/src/nafill.c:76:23: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.410891Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-06-15T04:25:21.410892Z 01O | ^ 2026-06-15T04:25:21.410892Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.410893Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.410893Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.410988Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.410988Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.410989Z 01O | ^ 2026-06-15T04:25:21.410989Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.410994Z 01O 128 | if (verbose) 2026-06-15T04:25:21.410995Z 01O | ^~~~~~~ 2026-06-15T04:25:21.410995Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.410996Z 01O 128 | if (verbose) 2026-06-15T04:25:21.410996Z 01O | ^ 2026-06-15T04:25:21.411000Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.411001Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.411001Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.411002Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.411003Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.411003Z 01O | ^ 2026-06-15T04:25:21.411004Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.411005Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.411006Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.411119Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.411120Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.411120Z 01O | ^ 2026-06-15T04:25:21.411121Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.411121Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.411122Z 01O | ^ 2026-06-15T04:25:21.411127Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.411127Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.411128Z 01O | ^ 2026-06-15T04:25:21.411128Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.411129Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.411129Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.411133Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.411133Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.411134Z 01O | ^ 2026-06-15T04:25:21.411134Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.411135Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.411135Z 01O | ^ 2026-06-15T04:25:21.411205Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.411205Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.411206Z 01O | ^ 2026-06-15T04:25:21.411211Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.411212Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.411213Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.411213Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.411214Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.411214Z 01O | ^ 2026-06-15T04:25:21.411215Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.411215Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.411221Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.411221Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.411222Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.411222Z 01O | ^ 2026-06-15T04:25:21.411230Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.411231Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.411341Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-06-15T04:25:21.411813Z 01O | ^ 2026-06-15T04:25:21.411899Z 01O /builds/Rdatatable/data.table/src/nafill.c:81:26: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.411900Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-06-15T04:25:21.411900Z 01O | ^ 2026-06-15T04:25:21.411901Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.411901Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.411902Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.411902Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.411903Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.411903Z 01O | ^ 2026-06-15T04:25:21.411903Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.411904Z 01O 128 | if (verbose) 2026-06-15T04:25:21.411904Z 01O | ^~~~~~~ 2026-06-15T04:25:21.411905Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.411905Z 01O 128 | if (verbose) 2026-06-15T04:25:21.411906Z 01O | ^ 2026-06-15T04:25:21.411908Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.411909Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.411910Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.411910Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.411911Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.411911Z 01O | ^ 2026-06-15T04:25:21.412021Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.412022Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.412022Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.412023Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.412023Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.412024Z 01O | ^ 2026-06-15T04:25:21.412024Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.412025Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.412025Z 01O | ^ 2026-06-15T04:25:21.412026Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.412026Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.412027Z 01O | ^ 2026-06-15T04:25:21.412027Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.412028Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.412028Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.412029Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.412029Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.412030Z 01O | ^ 2026-06-15T04:25:21.412126Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.412127Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.412127Z 01O | ^ 2026-06-15T04:25:21.412128Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.412134Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.412134Z 01O | ^ 2026-06-15T04:25:21.412140Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.412141Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.412141Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.412142Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.412142Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.412143Z 01O | ^ 2026-06-15T04:25:21.412143Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.412144Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.412144Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.412145Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.412145Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.412145Z 01O | ^ 2026-06-15T04:25:21.412146Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.412146Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.412259Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-06-15T04:25:21.412775Z 01O | ^ 2026-06-15T04:25:21.412826Z 01O /builds/Rdatatable/data.table/src/nafill.c:96:38: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.412827Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-06-15T04:25:21.412827Z 01O | ^ 2026-06-15T04:25:21.412831Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.412832Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.412832Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.412833Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.412833Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.412834Z 01O | ^ 2026-06-15T04:25:21.412834Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.412835Z 01O 128 | if (verbose) 2026-06-15T04:25:21.412835Z 01O | ^~~~~~~ 2026-06-15T04:25:21.412835Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.412836Z 01O 128 | if (verbose) 2026-06-15T04:25:21.412836Z 01O | ^ 2026-06-15T04:25:21.412837Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.412837Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.412838Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.412875Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.412875Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.412876Z 01O | ^ 2026-06-15T04:25:21.412876Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.412881Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.412882Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.412954Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.412955Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.412955Z 01O | ^ 2026-06-15T04:25:21.412956Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.412956Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.412957Z 01O | ^ 2026-06-15T04:25:21.412957Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.412958Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.412958Z 01O | ^ 2026-06-15T04:25:21.412959Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.412959Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.412960Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.413074Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.413075Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.413076Z 01O | ^ 2026-06-15T04:25:21.413076Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.413077Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.413077Z 01O | ^ 2026-06-15T04:25:21.413078Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.413078Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.413079Z 01O | ^ 2026-06-15T04:25:21.413079Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.413080Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.413080Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.413178Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.413179Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.413179Z 01O | ^ 2026-06-15T04:25:21.413180Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.413180Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.413181Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.413181Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.413182Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.413182Z 01O | ^ 2026-06-15T04:25:21.413274Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.413275Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.413891Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-06-15T04:25:21.414062Z 01O | ^ 2026-06-15T04:25:21.414062Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:36: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.414063Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-06-15T04:25:21.414064Z 01O | ^ 2026-06-15T04:25:21.414064Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.414065Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.414065Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.414066Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.414066Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.414066Z 01O | ^ 2026-06-15T04:25:21.414067Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.414067Z 01O 128 | if (verbose) 2026-06-15T04:25:21.414068Z 01O | ^~~~~~~ 2026-06-15T04:25:21.414068Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.414069Z 01O 128 | if (verbose) 2026-06-15T04:25:21.414069Z 01O | ^ 2026-06-15T04:25:21.414069Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.414070Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.414070Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.414071Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.414071Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414072Z 01O | ^ 2026-06-15T04:25:21.414076Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414076Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414077Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.414077Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.414078Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414078Z 01O | ^ 2026-06-15T04:25:21.414079Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414079Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414080Z 01O | ^ 2026-06-15T04:25:21.414080Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.414081Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414081Z 01O | ^ 2026-06-15T04:25:21.414082Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414082Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414083Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.414083Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.414084Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414084Z 01O | ^ 2026-06-15T04:25:21.414085Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414085Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414086Z 01O | ^ 2026-06-15T04:25:21.414086Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.414087Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414087Z 01O | ^ 2026-06-15T04:25:21.414088Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414088Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414089Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.414089Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.414090Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414090Z 01O | ^ 2026-06-15T04:25:21.414091Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.414091Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.414092Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.414092Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.414092Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.414093Z 01O | ^ 2026-06-15T04:25:21.414093Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.414094Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.414193Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-06-15T04:25:21.414295Z 01O | ^ 2026-06-15T04:25:21.414435Z 01O /builds/Rdatatable/data.table/src/nafill.c:105:39: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-06-15T04:25:21.414436Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-06-15T04:25:21.414437Z 01O | ^ 2026-06-15T04:25:21.414437Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-06-15T04:25:21.414438Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.414438Z 01O | ^~~~~~~~~~~~~ 2026-06-15T04:25:21.414441Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-06-15T04:25:21.414442Z 01O 124 | if (!xlength(obj)) 2026-06-15T04:25:21.414442Z 01O | ^ 2026-06-15T04:25:21.414442Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-06-15T04:25:21.414443Z 01O 128 | if (verbose) 2026-06-15T04:25:21.414443Z 01O | ^~~~~~~ 2026-06-15T04:25:21.414444Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-06-15T04:25:21.414449Z 01O 128 | if (verbose) 2026-06-15T04:25:21.414450Z 01O | ^ 2026-06-15T04:25:21.414452Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-06-15T04:25:21.414453Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-06-15T04:25:21.414453Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.414454Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.414454Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414455Z 01O | ^ 2026-06-15T04:25:21.414459Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414460Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414461Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.414461Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.414462Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414462Z 01O | ^ 2026-06-15T04:25:21.414539Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414540Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414541Z 01O | ^ 2026-06-15T04:25:21.414544Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.414544Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414545Z 01O | ^ 2026-06-15T04:25:21.414545Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414546Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414546Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.414552Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-06-15T04:25:21.414552Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414553Z 01O | ^ 2026-06-15T04:25:21.414553Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414554Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414555Z 01O | ^ 2026-06-15T04:25:21.414555Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-06-15T04:25:21.414556Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414556Z 01O | ^ 2026-06-15T04:25:21.414556Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.414557Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.414558Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.414558Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-06-15T04:25:21.414559Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-06-15T04:25:21.414559Z 01O | ^ 2026-06-15T04:25:21.414642Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-06-15T04:25:21.414643Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.414644Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.414644Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-06-15T04:25:21.414645Z 01O 138 | if (obj_scalar) { 2026-06-15T04:25:21.414645Z 01O | ^ 2026-06-15T04:25:21.414645Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-06-15T04:25:21.414651Z 01O 151 | for (int i=0; i= 'nx' 2026-06-15T04:25:21.414782Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-06-15T04:25:21.415199Z 01O | ^ 2026-06-15T04:25:21.415249Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: warning: Value stored to 'x' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-06-15T04:25:21.415250Z 01O 136 | SEXP x = R_NilValue; 2026-06-15T04:25:21.415251Z 01O | ^ ~~~~~~~~~~ 2026-06-15T04:25:21.415251Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-06-15T04:25:21.415255Z 01O 136 | SEXP x = R_NilValue; 2026-06-15T04:25:21.415256Z 01O | ^ ~~~~~~~~~~ 2026-06-15T04:25:21.415442Z 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-06-15T04:25:21.415443Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-06-15T04:25:21.415443Z 01O | ^ 2026-06-15T04:25:21.415456Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-06-15T04:25:21.415456Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-06-15T04:25:21.415457Z 01O | ^ 2026-06-15T04:25:21.415457Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-06-15T04:25:21.415458Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-06-15T04:25:21.415458Z 01O | ^ 2026-06-15T04:25:21.415519Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-06-15T04:25:21.415520Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-06-15T04:25:21.415520Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415521Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-06-15T04:25:21.415521Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-06-15T04:25:21.415522Z 01O | ^ 2026-06-15T04:25:21.415522Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-06-15T04:25:21.415523Z 01O 131 | if (length(throttle)) { 2026-06-15T04:25:21.415523Z 01O | ^ 2026-06-15T04:25:21.415523Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-06-15T04:25:21.415524Z 01O 987 | #define length(x) Rf_length(x) 2026-06-15T04:25:21.415524Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.415525Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-06-15T04:25:21.415525Z 01O 131 | if (length(throttle)) { 2026-06-15T04:25:21.415526Z 01O | ^ 2026-06-15T04:25:21.415526Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-06-15T04:25:21.415527Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-06-15T04:25:21.415527Z 01O | ^~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415528Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-06-15T04:25:21.415778Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-06-15T04:25:21.415779Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-06-15T04:25:21.415780Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415780Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-06-15T04:25:21.415781Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-06-15T04:25:21.415781Z 01O | ^ 2026-06-15T04:25:21.415789Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-06-15T04:25:21.415789Z 01O 138 | initDTthreads(); 2026-06-15T04:25:21.415790Z 01O | ^~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415800Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-06-15T04:25:21.415801Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-06-15T04:25:21.415801Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415802Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-06-15T04:25:21.415802Z 01O 14 | const char *val = getenv(name); 2026-06-15T04:25:21.415803Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.415803Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-06-15T04:25:21.415804Z 01O 14 | const char *val = getenv(name); 2026-06-15T04:25:21.415804Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.415805Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-06-15T04:25:21.415805Z 01O 14 | const char *val = getenv(name); 2026-06-15T04:25:21.415806Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.415806Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-06-15T04:25:21.415807Z 01O 15 | if (val == NULL) return def; 2026-06-15T04:25:21.415807Z 01O | ^~~ 2026-06-15T04:25:21.415807Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-06-15T04:25:21.415808Z 01O 15 | if (val == NULL) return def; 2026-06-15T04:25:21.415808Z 01O | ^ 2026-06-15T04:25:21.415809Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-06-15T04:25:21.415809Z 01O 17 | if (nchar == 0) return def; 2026-06-15T04:25:21.415810Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.415810Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-06-15T04:25:21.415811Z 01O 17 | if (nchar == 0) return def; 2026-06-15T04:25:21.415811Z 01O | ^ 2026-06-15T04:25:21.415812Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-06-15T04:25:21.415812Z 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-06-15T04:25:21.415813Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415813Z 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-06-15T04:25:21.415814Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-06-15T04:25:21.415814Z 01O | ^ 2026-06-15T04:25:21.415815Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-06-15T04:25:21.415815Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-06-15T04:25:21.415816Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415816Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-06-15T04:25:21.415817Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-06-15T04:25:21.415817Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415913Z 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-06-15T04:25:21.415914Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-06-15T04:25:21.415915Z 01O | ^ ~~~~~ 2026-06-15T04:25:21.415915Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-06-15T04:25:21.415922Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-06-15T04:25:21.415923Z 01O | ^ 2026-06-15T04:25:21.415923Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.415924Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.415924Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.415925Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-06-15T04:25:21.415926Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-06-15T04:25:21.415926Z 01O | ^ 2026-06-15T04:25:21.415926Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.415927Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.415927Z 01O | ^ 2026-06-15T04:25:21.416022Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-06-15T04:25:21.416022Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-06-15T04:25:21.416023Z 01O | ^ 2026-06-15T04:25:21.416027Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.416028Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.416028Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.416029Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-06-15T04:25:21.416030Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-06-15T04:25:21.416030Z 01O | ^ 2026-06-15T04:25:21.416033Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.416034Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.416034Z 01O | ^ 2026-06-15T04:25:21.416035Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-06-15T04:25:21.416035Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-06-15T04:25:21.416036Z 01O | ^ 2026-06-15T04:25:21.416087Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.416087Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.416088Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.416092Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-06-15T04:25:21.416092Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-06-15T04:25:21.416093Z 01O | ^ 2026-06-15T04:25:21.416093Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-06-15T04:25:21.416094Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-06-15T04:25:21.416094Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.416095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-06-15T04:25:21.416098Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-06-15T04:25:21.416099Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-06-15T04:25:21.416099Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.416100Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-06-15T04:25:21.416101Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-06-15T04:25:21.416101Z 01O | ^ 2026-06-15T04:25:21.416220Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-06-15T04:25:21.416232Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-06-15T04:25:21.416233Z 01O | ^ 2026-06-15T04:25:21.416233Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.416234Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.416234Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.416235Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-06-15T04:25:21.416235Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-06-15T04:25:21.416236Z 01O | ^ 2026-06-15T04:25:21.416328Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.416329Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.416330Z 01O | ^ 2026-06-15T04:25:21.416330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-06-15T04:25:21.416331Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-06-15T04:25:21.416331Z 01O | ^ 2026-06-15T04:25:21.416355Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.416356Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.416356Z 01O | ^~~~~~~~~~~~ 2026-06-15T04:25:21.416357Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-06-15T04:25:21.416357Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-06-15T04:25:21.416358Z 01O | ^ 2026-06-15T04:25:21.416358Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.416359Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.416359Z 01O | ^ 2026-06-15T04:25:21.416360Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-06-15T04:25:21.416360Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-06-15T04:25:21.416361Z 01O | ^ 2026-06-15T04:25:21.416361Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-06-15T04:25:21.416362Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-06-15T04:25:21.416362Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.416363Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-06-15T04:25:21.416363Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-06-15T04:25:21.416364Z 01O | ^ 2026-06-15T04:25:21.416364Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-06-15T04:25:21.416365Z 01O 13 | if (!length(l)) return(l); 2026-06-15T04:25:21.416365Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.416366Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-06-15T04:25:21.416366Z 01O 13 | if (!length(l)) return(l); 2026-06-15T04:25:21.416367Z 01O | ^ 2026-06-15T04:25:21.416367Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-06-15T04:25:21.416368Z 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-06-15T04:25:21.416368Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.416463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-06-15T04:25:21.416471Z 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-06-15T04:25:21.416471Z 01O | ^ 2026-06-15T04:25:21.416472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-06-15T04:25:21.416472Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-06-15T04:25:21.416473Z 01O | ^~~~ 2026-06-15T04:25:21.416473Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-06-15T04:25:21.416474Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-06-15T04:25:21.416474Z 01O | ^ 2026-06-15T04:25:21.416474Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-06-15T04:25:21.416475Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-06-15T04:25:21.416475Z 01O | ^~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.416532Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-06-15T04:25:21.416533Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-06-15T04:25:21.416534Z 01O | ^~~~~ 2026-06-15T04:25:21.416538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-06-15T04:25:21.416538Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-06-15T04:25:21.416539Z 01O | ^ 2026-06-15T04:25:21.416539Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-06-15T04:25:21.416540Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.416541Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.416543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.416543Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.416544Z 01O | ^ 2026-06-15T04:25:21.416710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-06-15T04:25:21.416711Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.416712Z 01O | ^ 2026-06-15T04:25:21.416712Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.416712Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.416713Z 01O | ^ 2026-06-15T04:25:21.416713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-06-15T04:25:21.416714Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.416714Z 01O | ^ 2026-06-15T04:25:21.416715Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-06-15T04:25:21.416715Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.416716Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.416716Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-06-15T04:25:21.416717Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.416717Z 01O | ^ 2026-06-15T04:25:21.416718Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-06-15T04:25:21.416718Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.416719Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.416719Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-06-15T04:25:21.416720Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.416727Z 01O | ^ 2026-06-15T04:25:21.416727Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-06-15T04:25:21.416727Z 01O 37 | if (fill) { 2026-06-15T04:25:21.416728Z 01O | ^~~~ 2026-06-15T04:25:21.416728Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-06-15T04:25:21.416729Z 01O 37 | if (fill) { 2026-06-15T04:25:21.416729Z 01O | ^ 2026-06-15T04:25:21.416857Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-06-15T04:25:21.416858Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.416858Z 01O | ^~~~ 2026-06-15T04:25:21.416859Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-06-15T04:25:21.416859Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.416860Z 01O | ^ 2026-06-15T04:25:21.416860Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-06-15T04:25:21.416861Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.416861Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.416864Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-06-15T04:25:21.416865Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.416866Z 01O | ^ 2026-06-15T04:25:21.416866Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-06-15T04:25:21.416867Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.416867Z 01O | ^~~~~~ 2026-06-15T04:25:21.416867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-06-15T04:25:21.416868Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.416868Z 01O | ^ 2026-06-15T04:25:21.416872Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-06-15T04:25:21.416872Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.416873Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.416873Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-06-15T04:25:21.416874Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.416875Z 01O | ^ 2026-06-15T04:25:21.416875Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-06-15T04:25:21.416875Z 01O 49 | for (int j=0; j0 checked above 2026-06-15T04:25:21.416981Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.416982Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-06-15T04:25:21.416982Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.416983Z 01O | ^ 2026-06-15T04:25:21.417100Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-06-15T04:25:21.417106Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.417106Z 01O | ^~~~~~~ 2026-06-15T04:25:21.417106Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-06-15T04:25:21.417107Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.417107Z 01O | ^ 2026-06-15T04:25:21.417134Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-06-15T04:25:21.417135Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.417135Z 01O | ^~~~ 2026-06-15T04:25:21.417136Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-06-15T04:25:21.417136Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-06-15T04:25:21.417137Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.417137Z 01O | ^~~~ 2026-06-15T04:25:21.417138Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-06-15T04:25:21.417138Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.417139Z 01O | ^ 2026-06-15T04:25:21.417139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-06-15T04:25:21.417139Z 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-06-15T04:25:21.417140Z 01O | ^~~~ 2026-06-15T04:25:21.417141Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-06-15T04:25:21.417141Z 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-06-15T04:25:21.417142Z 01O | ^ 2026-06-15T04:25:21.417142Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-06-15T04:25:21.417143Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.417143Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.417144Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-06-15T04:25:21.417144Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.417145Z 01O | ^ 2026-06-15T04:25:21.417145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-06-15T04:25:21.417146Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.417146Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.417147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-06-15T04:25:21.417147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-06-15T04:25:21.417148Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.417148Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.417149Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-06-15T04:25:21.417149Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.417150Z 01O | ^ 2026-06-15T04:25:21.417150Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-06-15T04:25:21.417151Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-06-15T04:25:21.417151Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.417152Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-06-15T04:25:21.417152Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-06-15T04:25:21.417153Z 01O | ^ 2026-06-15T04:25:21.417153Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-06-15T04:25:21.417158Z 01O 83 | int nuniq=0; 2026-06-15T04:25:21.417159Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.417159Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-06-15T04:25:21.417160Z 01O 85 | for (int i=0; i0 checked above 2026-06-15T04:25:21.417926Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.417926Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.417927Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.417927Z 01O | ^ 2026-06-15T04:25:21.417928Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-06-15T04:25:21.417933Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.417933Z 01O | ^ 2026-06-15T04:25:21.417934Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.417934Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.417939Z 01O | ^ 2026-06-15T04:25:21.417940Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-06-15T04:25:21.417940Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.417941Z 01O | ^ 2026-06-15T04:25:21.417941Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-06-15T04:25:21.417941Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.417942Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.417943Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-06-15T04:25:21.417943Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.417944Z 01O | ^ 2026-06-15T04:25:21.417944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-06-15T04:25:21.417945Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.417945Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.417945Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-06-15T04:25:21.417946Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.417946Z 01O | ^ 2026-06-15T04:25:21.417947Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-06-15T04:25:21.417947Z 01O 37 | if (fill) { 2026-06-15T04:25:21.417948Z 01O | ^~~~ 2026-06-15T04:25:21.417954Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-06-15T04:25:21.417954Z 01O 37 | if (fill) { 2026-06-15T04:25:21.417955Z 01O | ^ 2026-06-15T04:25:21.417955Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-06-15T04:25:21.417956Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.417956Z 01O | ^~~~ 2026-06-15T04:25:21.417957Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-06-15T04:25:21.417957Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.417958Z 01O | ^ 2026-06-15T04:25:21.418165Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-06-15T04:25:21.418166Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.418167Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.418167Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-06-15T04:25:21.418168Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.418168Z 01O | ^ 2026-06-15T04:25:21.418169Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-06-15T04:25:21.418169Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.418170Z 01O | ^~~~~~ 2026-06-15T04:25:21.418170Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-06-15T04:25:21.418171Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.418171Z 01O | ^ 2026-06-15T04:25:21.418171Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-06-15T04:25:21.418172Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.418178Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.418178Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-06-15T04:25:21.418179Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.418180Z 01O | ^ 2026-06-15T04:25:21.418180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-06-15T04:25:21.418180Z 01O 49 | for (int j=0; j0 checked above 2026-06-15T04:25:21.418244Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.418244Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-06-15T04:25:21.418245Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.418246Z 01O | ^ 2026-06-15T04:25:21.418246Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-06-15T04:25:21.418246Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.418247Z 01O | ^~~~~~~ 2026-06-15T04:25:21.418247Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-06-15T04:25:21.418248Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.418248Z 01O | ^ 2026-06-15T04:25:21.418248Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-06-15T04:25:21.418249Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.418250Z 01O | ^~~~ 2026-06-15T04:25:21.418250Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-06-15T04:25:21.418250Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-06-15T04:25:21.418251Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.418251Z 01O | ^~~~ 2026-06-15T04:25:21.418255Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-06-15T04:25:21.418255Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.418256Z 01O | ^ 2026-06-15T04:25:21.418256Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-06-15T04:25:21.418257Z 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-06-15T04:25:21.418258Z 01O | ^~~~ 2026-06-15T04:25:21.418258Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-06-15T04:25:21.418258Z 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-06-15T04:25:21.418259Z 01O | ^ 2026-06-15T04:25:21.418260Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-06-15T04:25:21.418260Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.418261Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.418357Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-06-15T04:25:21.418358Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.418366Z 01O | ^ 2026-06-15T04:25:21.418366Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-06-15T04:25:21.418367Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.418367Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.418368Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-06-15T04:25:21.418368Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-06-15T04:25:21.418369Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.418369Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.418370Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-06-15T04:25:21.418370Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.418371Z 01O | ^ 2026-06-15T04:25:21.418375Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-06-15T04:25:21.418375Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-06-15T04:25:21.418376Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.418376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-06-15T04:25:21.418377Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-06-15T04:25:21.418377Z 01O | ^ 2026-06-15T04:25:21.418378Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-06-15T04:25:21.418378Z 01O 85 | for (int i=0; i= 'thisncol' 2026-06-15T04:25:21.418608Z 01O 92 | for (int j=0; j 'ncol' 2026-06-15T04:25:21.418709Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-06-15T04:25:21.418710Z 01O | ^~~~~~ 2026-06-15T04:25:21.418710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-06-15T04:25:21.418711Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-06-15T04:25:21.418711Z 01O | ^ 2026-06-15T04:25:21.418712Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-06-15T04:25:21.418712Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-06-15T04:25:21.418713Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.418713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-06-15T04:25:21.418714Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-06-15T04:25:21.418714Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.418796Z 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-06-15T04:25:21.418797Z 01O 153 | for (int j=0; j0 checked above 2026-06-15T04:25:21.419350Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.419350Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.419351Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.419352Z 01O | ^ 2026-06-15T04:25:21.419430Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-06-15T04:25:21.419431Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.419432Z 01O | ^ 2026-06-15T04:25:21.419435Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.419436Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.419436Z 01O | ^ 2026-06-15T04:25:21.419437Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-06-15T04:25:21.419437Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.419438Z 01O | ^ 2026-06-15T04:25:21.419438Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-06-15T04:25:21.419439Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.419439Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.419440Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-06-15T04:25:21.419440Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.419441Z 01O | ^ 2026-06-15T04:25:21.419441Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-06-15T04:25:21.419442Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.419442Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.419557Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-06-15T04:25:21.419558Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.419558Z 01O | ^ 2026-06-15T04:25:21.419559Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-06-15T04:25:21.419559Z 01O 37 | if (fill) { 2026-06-15T04:25:21.419559Z 01O | ^~~~ 2026-06-15T04:25:21.419560Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-06-15T04:25:21.419560Z 01O 37 | if (fill) { 2026-06-15T04:25:21.419561Z 01O | ^ 2026-06-15T04:25:21.419813Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-06-15T04:25:21.419814Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.419814Z 01O | ^~~~ 2026-06-15T04:25:21.419815Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-06-15T04:25:21.419815Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.419816Z 01O | ^ 2026-06-15T04:25:21.419816Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-06-15T04:25:21.419816Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.419817Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.419822Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-06-15T04:25:21.419823Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.419824Z 01O | ^ 2026-06-15T04:25:21.419824Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-06-15T04:25:21.419825Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.419825Z 01O | ^~~~~~ 2026-06-15T04:25:21.419825Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-06-15T04:25:21.419826Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.419826Z 01O | ^ 2026-06-15T04:25:21.419827Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-06-15T04:25:21.419827Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.419828Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.419828Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-06-15T04:25:21.419829Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.419830Z 01O | ^ 2026-06-15T04:25:21.419830Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-06-15T04:25:21.419831Z 01O 49 | for (int j=0; j0 checked above 2026-06-15T04:25:21.419834Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.419834Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-06-15T04:25:21.419835Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.419836Z 01O | ^ 2026-06-15T04:25:21.419836Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-06-15T04:25:21.419836Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.419837Z 01O | ^~~~~~~ 2026-06-15T04:25:21.419837Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-06-15T04:25:21.419838Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.419838Z 01O | ^ 2026-06-15T04:25:21.419838Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-06-15T04:25:21.419839Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.419840Z 01O | ^~~~ 2026-06-15T04:25:21.419840Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-06-15T04:25:21.419840Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-06-15T04:25:21.419841Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.419841Z 01O | ^~~~ 2026-06-15T04:25:21.419842Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-06-15T04:25:21.419842Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.419843Z 01O | ^ 2026-06-15T04:25:21.419843Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-06-15T04:25:21.419844Z 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-06-15T04:25:21.419848Z 01O | ^~~~ 2026-06-15T04:25:21.419979Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-06-15T04:25:21.419980Z 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-06-15T04:25:21.419981Z 01O | ^ 2026-06-15T04:25:21.419981Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-06-15T04:25:21.419982Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.419983Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.419983Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-06-15T04:25:21.419984Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.419984Z 01O | ^ 2026-06-15T04:25:21.419985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-06-15T04:25:21.419985Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.419986Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.419986Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-06-15T04:25:21.419986Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-06-15T04:25:21.419987Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.419988Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.419988Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-06-15T04:25:21.419989Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.419989Z 01O | ^ 2026-06-15T04:25:21.419989Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-06-15T04:25:21.419990Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-06-15T04:25:21.419990Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.419991Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-06-15T04:25:21.419992Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-06-15T04:25:21.419992Z 01O | ^ 2026-06-15T04:25:21.419992Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-06-15T04:25:21.419993Z 01O 85 | for (int i=0; i= 'thisncol' 2026-06-15T04:25:21.420200Z 01O 92 | for (int j=0; j= 'thisncol' 2026-06-15T04:25:21.420262Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-06-15T04:25:21.420353Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.420353Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-06-15T04:25:21.420354Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-06-15T04:25:21.420354Z 01O | ^ 2026-06-15T04:25:21.420355Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-06-15T04:25:21.420355Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-06-15T04:25:21.420453Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.420453Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-06-15T04:25:21.420454Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-06-15T04:25:21.420454Z 01O | ^ 2026-06-15T04:25:21.420455Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-06-15T04:25:21.420455Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.420456Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.420456Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-06-15T04:25:21.420457Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-06-15T04:25:21.420457Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.420458Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.420458Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-06-15T04:25:21.420459Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.420459Z 01O | ^ 2026-06-15T04:25:21.420459Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-06-15T04:25:21.420460Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.420460Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.420661Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-06-15T04:25:21.420662Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.420663Z 01O | ^ 2026-06-15T04:25:21.420663Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-06-15T04:25:21.420664Z 01O 142 | for (int i=0; i= 'ncol' 2026-06-15T04:25:21.420850Z 01O 143 | for (int i=0; i0 checked above 2026-06-15T04:25:21.421323Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.421323Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.421324Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.421324Z 01O | ^ 2026-06-15T04:25:21.421324Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-06-15T04:25:21.421325Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.421325Z 01O | ^ 2026-06-15T04:25:21.421326Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.421326Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.421327Z 01O | ^ 2026-06-15T04:25:21.421406Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-06-15T04:25:21.421407Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.421408Z 01O | ^ 2026-06-15T04:25:21.421412Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-06-15T04:25:21.421412Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.421413Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.421413Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-06-15T04:25:21.421414Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.421415Z 01O | ^ 2026-06-15T04:25:21.421415Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-06-15T04:25:21.421416Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.421416Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.421416Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-06-15T04:25:21.421417Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.421417Z 01O | ^ 2026-06-15T04:25:21.421426Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-06-15T04:25:21.421426Z 01O 37 | if (fill) { 2026-06-15T04:25:21.421427Z 01O | ^~~~ 2026-06-15T04:25:21.421427Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-06-15T04:25:21.421427Z 01O 37 | if (fill) { 2026-06-15T04:25:21.421428Z 01O | ^ 2026-06-15T04:25:21.421428Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-06-15T04:25:21.421429Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.421429Z 01O | ^~~~ 2026-06-15T04:25:21.421534Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-06-15T04:25:21.421535Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.421536Z 01O | ^ 2026-06-15T04:25:21.421540Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-06-15T04:25:21.421540Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.421541Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.421542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-06-15T04:25:21.421542Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.421543Z 01O | ^ 2026-06-15T04:25:21.421543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-06-15T04:25:21.421544Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.421544Z 01O | ^~~~~~ 2026-06-15T04:25:21.421545Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-06-15T04:25:21.421545Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.421545Z 01O | ^ 2026-06-15T04:25:21.421548Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-06-15T04:25:21.421549Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.421549Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.421550Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-06-15T04:25:21.421551Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.421551Z 01O | ^ 2026-06-15T04:25:21.421727Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-06-15T04:25:21.421728Z 01O 49 | for (int j=0; j0 checked above 2026-06-15T04:25:21.421731Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.421731Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-06-15T04:25:21.421732Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.421733Z 01O | ^ 2026-06-15T04:25:21.421733Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-06-15T04:25:21.421733Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.421734Z 01O | ^~~~~~~ 2026-06-15T04:25:21.421739Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-06-15T04:25:21.421740Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.421740Z 01O | ^ 2026-06-15T04:25:21.421862Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-06-15T04:25:21.421862Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.421863Z 01O | ^~~~ 2026-06-15T04:25:21.421863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-06-15T04:25:21.421864Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-06-15T04:25:21.421864Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.421865Z 01O | ^~~~ 2026-06-15T04:25:21.421865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-06-15T04:25:21.421866Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.421866Z 01O | ^ 2026-06-15T04:25:21.421867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-06-15T04:25:21.421867Z 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-06-15T04:25:21.421868Z 01O | ^~~~ 2026-06-15T04:25:21.421874Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-06-15T04:25:21.421875Z 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-06-15T04:25:21.421876Z 01O | ^ 2026-06-15T04:25:21.421876Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-06-15T04:25:21.421876Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.421877Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.421878Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-06-15T04:25:21.421878Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.421879Z 01O | ^ 2026-06-15T04:25:21.421879Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-06-15T04:25:21.421880Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.421880Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.421881Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-06-15T04:25:21.421881Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-06-15T04:25:21.421882Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.421882Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.421883Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-06-15T04:25:21.421883Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.421884Z 01O | ^ 2026-06-15T04:25:21.421884Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-06-15T04:25:21.421885Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-06-15T04:25:21.421885Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.421885Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-06-15T04:25:21.421886Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-06-15T04:25:21.421887Z 01O | ^ 2026-06-15T04:25:21.421887Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-06-15T04:25:21.421893Z 01O 85 | for (int i=0; i= 'thisncol' 2026-06-15T04:25:21.422272Z 01O 92 | for (int j=0; j= 'thisncol' 2026-06-15T04:25:21.422430Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-06-15T04:25:21.422440Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.422440Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-06-15T04:25:21.422441Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-06-15T04:25:21.422441Z 01O | ^ 2026-06-15T04:25:21.422442Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-06-15T04:25:21.422442Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-06-15T04:25:21.422562Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.422563Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-06-15T04:25:21.422563Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-06-15T04:25:21.422564Z 01O | ^ 2026-06-15T04:25:21.422564Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-06-15T04:25:21.422565Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.422565Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.422565Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-06-15T04:25:21.422566Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-06-15T04:25:21.422567Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.422567Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.422567Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-06-15T04:25:21.422568Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.422568Z 01O | ^ 2026-06-15T04:25:21.422569Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-06-15T04:25:21.422569Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.422570Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.422570Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-06-15T04:25:21.422571Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-06-15T04:25:21.422571Z 01O | ^ 2026-06-15T04:25:21.422572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-06-15T04:25:21.422572Z 01O 142 | for (int i=0; i= 'ncol' 2026-06-15T04:25:21.422582Z 01O 143 | for (int i=0; i0 checked above 2026-06-15T04:25:21.423435Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.423436Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.423436Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.423437Z 01O | ^ 2026-06-15T04:25:21.423449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-06-15T04:25:21.423450Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.423450Z 01O | ^ 2026-06-15T04:25:21.423451Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.423451Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.423452Z 01O | ^ 2026-06-15T04:25:21.423461Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-06-15T04:25:21.423461Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.423462Z 01O | ^ 2026-06-15T04:25:21.423462Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-06-15T04:25:21.423463Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.423463Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.423464Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-06-15T04:25:21.423464Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.423465Z 01O | ^ 2026-06-15T04:25:21.423465Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-06-15T04:25:21.423466Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.423466Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.423467Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-06-15T04:25:21.423467Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.423468Z 01O | ^ 2026-06-15T04:25:21.423468Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-06-15T04:25:21.423469Z 01O 37 | if (fill) { 2026-06-15T04:25:21.423469Z 01O | ^~~~ 2026-06-15T04:25:21.423469Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-06-15T04:25:21.423470Z 01O 37 | if (fill) { 2026-06-15T04:25:21.423470Z 01O | ^ 2026-06-15T04:25:21.423471Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-06-15T04:25:21.423471Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.423472Z 01O | ^~~~ 2026-06-15T04:25:21.423472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-06-15T04:25:21.423472Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.423473Z 01O | ^ 2026-06-15T04:25:21.423534Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-06-15T04:25:21.423535Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.423536Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.423540Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-06-15T04:25:21.423541Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.423542Z 01O | ^ 2026-06-15T04:25:21.423543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-06-15T04:25:21.423543Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.423544Z 01O | ^~~~~~ 2026-06-15T04:25:21.423545Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-06-15T04:25:21.423545Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.423546Z 01O | ^ 2026-06-15T04:25:21.423576Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-06-15T04:25:21.423576Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.423583Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.423598Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.423599Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.423600Z 01O | ^ 2026-06-15T04:25:21.423600Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-06-15T04:25:21.423601Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.423601Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.423713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-06-15T04:25:21.423714Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.423715Z 01O | ^ 2026-06-15T04:25:21.423715Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-06-15T04:25:21.423716Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.423717Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.423717Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-06-15T04:25:21.423718Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.423718Z 01O | ^ 2026-06-15T04:25:21.423719Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.423719Z 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-06-15T04:25:21.423895Z 01O | ^~~~ 2026-06-15T04:25:21.423896Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-06-15T04:25:21.423896Z 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-06-15T04:25:21.423897Z 01O | ^ 2026-06-15T04:25:21.423897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-06-15T04:25:21.423898Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-06-15T04:25:21.423898Z 01O | ^~~~~ 2026-06-15T04:25:21.423899Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-06-15T04:25:21.423899Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-06-15T04:25:21.423900Z 01O | ^ 2026-06-15T04:25:21.423900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-06-15T04:25:21.423901Z 01O 49 | for (int j=0; j0 checked above 2026-06-15T04:25:21.423954Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.423954Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-06-15T04:25:21.423955Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.423955Z 01O | ^ 2026-06-15T04:25:21.423956Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-06-15T04:25:21.423956Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.423957Z 01O | ^~~~~~~ 2026-06-15T04:25:21.423957Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-06-15T04:25:21.423957Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.423958Z 01O | ^ 2026-06-15T04:25:21.423958Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-06-15T04:25:21.423959Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.423959Z 01O | ^~~~ 2026-06-15T04:25:21.423960Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-06-15T04:25:21.423960Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-06-15T04:25:21.423961Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.423961Z 01O | ^~~~ 2026-06-15T04:25:21.423962Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-06-15T04:25:21.423962Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.423963Z 01O | ^ 2026-06-15T04:25:21.423963Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-06-15T04:25:21.423963Z 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-06-15T04:25:21.423964Z 01O | ^~~~ 2026-06-15T04:25:21.424068Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-06-15T04:25:21.424069Z 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-06-15T04:25:21.424070Z 01O | ^ 2026-06-15T04:25:21.424070Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-06-15T04:25:21.424071Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.424072Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.424072Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-06-15T04:25:21.424072Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.424073Z 01O | ^ 2026-06-15T04:25:21.424074Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-06-15T04:25:21.424074Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-06-15T04:25:21.424075Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.424077Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-06-15T04:25:21.424078Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.424078Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.424079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-06-15T04:25:21.424079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-06-15T04:25:21.424080Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.424080Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.424200Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-06-15T04:25:21.424201Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.424202Z 01O | ^ 2026-06-15T04:25:21.424206Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-06-15T04:25:21.424207Z 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-06-15T04:25:21.424208Z 01O | ^~~~ 2026-06-15T04:25:21.424208Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-06-15T04:25:21.424209Z 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-06-15T04:25:21.424210Z 01O | ^ 2026-06-15T04:25:21.424210Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-06-15T04:25:21.424210Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.424211Z 01O | ^~~~ 2026-06-15T04:25:21.424211Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-06-15T04:25:21.424212Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.424212Z 01O | ^ 2026-06-15T04:25:21.424213Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-06-15T04:25:21.424213Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.424214Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.424214Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-06-15T04:25:21.424215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-06-15T04:25:21.424215Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.424216Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.424325Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-06-15T04:25:21.424326Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.424327Z 01O | ^ 2026-06-15T04:25:21.424327Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-06-15T04:25:21.424328Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-06-15T04:25:21.424328Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.424329Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-06-15T04:25:21.424329Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-06-15T04:25:21.424330Z 01O | ^ 2026-06-15T04:25:21.424330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-06-15T04:25:21.424331Z 01O 251 | if (idcol) { 2026-06-15T04:25:21.424331Z 01O | ^~~~~ 2026-06-15T04:25:21.424331Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-06-15T04:25:21.424332Z 01O 251 | if (idcol) { 2026-06-15T04:25:21.424332Z 01O | ^ 2026-06-15T04:25:21.424333Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.424333Z 01O 276 | for(int j=0; j0 checked above 2026-06-15T04:25:21.425093Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.425093Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.425094Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.425094Z 01O | ^ 2026-06-15T04:25:21.425218Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-06-15T04:25:21.425219Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.425220Z 01O | ^ 2026-06-15T04:25:21.425220Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-06-15T04:25:21.425220Z 01O 956 | #define isNull Rf_isNull 2026-06-15T04:25:21.425221Z 01O | ^ 2026-06-15T04:25:21.425221Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-06-15T04:25:21.425222Z 01O 32 | if (isNull(li)) continue; 2026-06-15T04:25:21.425231Z 01O | ^ 2026-06-15T04:25:21.425232Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-06-15T04:25:21.425232Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.425233Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.425233Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-06-15T04:25:21.425234Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-06-15T04:25:21.425234Z 01O | ^ 2026-06-15T04:25:21.425235Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-06-15T04:25:21.425235Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.425236Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.425236Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-06-15T04:25:21.425237Z 01O 35 | if (!thisncol) continue; 2026-06-15T04:25:21.425237Z 01O | ^ 2026-06-15T04:25:21.425237Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-06-15T04:25:21.425238Z 01O 37 | if (fill) { 2026-06-15T04:25:21.425238Z 01O | ^~~~ 2026-06-15T04:25:21.425239Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-06-15T04:25:21.425239Z 01O 37 | if (fill) { 2026-06-15T04:25:21.425240Z 01O | ^ 2026-06-15T04:25:21.425240Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-06-15T04:25:21.425240Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.425241Z 01O | ^~~~ 2026-06-15T04:25:21.425343Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-06-15T04:25:21.425344Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-06-15T04:25:21.425344Z 01O | ^ 2026-06-15T04:25:21.425345Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-06-15T04:25:21.425345Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.425346Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.425349Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-06-15T04:25:21.425349Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-06-15T04:25:21.425350Z 01O | ^ 2026-06-15T04:25:21.425350Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-06-15T04:25:21.425359Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.425359Z 01O | ^~~~~~ 2026-06-15T04:25:21.425360Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-06-15T04:25:21.425360Z 01O 45 | if (nNames>0) anyNames=true; 2026-06-15T04:25:21.425361Z 01O | ^ 2026-06-15T04:25:21.425365Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-06-15T04:25:21.425366Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.425367Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.425367Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.425368Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.425368Z 01O | ^ 2026-06-15T04:25:21.425369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-06-15T04:25:21.425369Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.425370Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.425370Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-06-15T04:25:21.425371Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.425372Z 01O | ^ 2026-06-15T04:25:21.425462Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-06-15T04:25:21.425462Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.425463Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.425463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-06-15T04:25:21.425464Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-06-15T04:25:21.425465Z 01O | ^ 2026-06-15T04:25:21.425465Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.425466Z 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-06-15T04:25:21.425468Z 01O | ^~~~ 2026-06-15T04:25:21.425475Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-06-15T04:25:21.425476Z 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-06-15T04:25:21.425476Z 01O | ^ 2026-06-15T04:25:21.425477Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-06-15T04:25:21.425477Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-06-15T04:25:21.425478Z 01O | ^~~~~ 2026-06-15T04:25:21.425710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-06-15T04:25:21.425711Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-06-15T04:25:21.425717Z 01O | ^ 2026-06-15T04:25:21.425717Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-06-15T04:25:21.425718Z 01O 49 | for (int j=0; j0 checked above 2026-06-15T04:25:21.425720Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.425720Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-06-15T04:25:21.425721Z 01O 29 | for (int i=0; i0 checked above 2026-06-15T04:25:21.425721Z 01O | ^ 2026-06-15T04:25:21.425721Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-06-15T04:25:21.425722Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.425722Z 01O | ^~~~~~~ 2026-06-15T04:25:21.425723Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-06-15T04:25:21.425723Z 01O 57 | if (numZero) { // #1871 2026-06-15T04:25:21.425724Z 01O | ^ 2026-06-15T04:25:21.425724Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-06-15T04:25:21.425725Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.425725Z 01O | ^~~~ 2026-06-15T04:25:21.425725Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-06-15T04:25:21.425726Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-06-15T04:25:21.425726Z 01O | ^ 2026-06-15T04:25:21.425773Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-06-15T04:25:21.425773Z 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-06-15T04:25:21.425774Z 01O | ^~~~ 2026-06-15T04:25:21.425775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-06-15T04:25:21.425775Z 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-06-15T04:25:21.425776Z 01O | ^ 2026-06-15T04:25:21.425776Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-06-15T04:25:21.425777Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.425777Z 01O | ^~~~~~~~~~~~~~ 2026-06-15T04:25:21.425780Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-06-15T04:25:21.425781Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-06-15T04:25:21.425781Z 01O | ^ 2026-06-15T04:25:21.425782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-06-15T04:25:21.425782Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-06-15T04:25:21.425783Z 01O | ^~~~~~~~~~~ 2026-06-15T04:25:21.425783Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-06-15T04:25:21.425784Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.425784Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.425785Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-06-15T04:25:21.425812Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-06-15T04:25:21.425820Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.425820Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.425821Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-06-15T04:25:21.425821Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-06-15T04:25:21.425822Z 01O | ^ 2026-06-15T04:25:21.425846Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-06-15T04:25:21.425847Z 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-06-15T04:25:21.425848Z 01O | ^~~~ 2026-06-15T04:25:21.425848Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-06-15T04:25:21.425849Z 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-06-15T04:25:21.425849Z 01O | ^ 2026-06-15T04:25:21.425850Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-06-15T04:25:21.425850Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.425851Z 01O | ^~~~ 2026-06-15T04:25:21.425851Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-06-15T04:25:21.425852Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.425852Z 01O | ^ 2026-06-15T04:25:21.426030Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-06-15T04:25:21.426031Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.426032Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.426032Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-06-15T04:25:21.426033Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-06-15T04:25:21.426033Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.426034Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.426034Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-06-15T04:25:21.426035Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-06-15T04:25:21.426035Z 01O | ^ 2026-06-15T04:25:21.426036Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-06-15T04:25:21.426036Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-06-15T04:25:21.426037Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.426037Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-06-15T04:25:21.426038Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-06-15T04:25:21.426038Z 01O | ^ 2026-06-15T04:25:21.426038Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-06-15T04:25:21.426039Z 01O 251 | if (idcol) { 2026-06-15T04:25:21.426039Z 01O | ^~~~~ 2026-06-15T04:25:21.426040Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-06-15T04:25:21.426040Z 01O 251 | if (idcol) { 2026-06-15T04:25:21.426041Z 01O | ^ 2026-06-15T04:25:21.426041Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.426042Z 01O 276 | for(int j=0; j= 1 2026-06-15T04:25:21.426626Z 01O 27 | if (n<1) return 0; 2026-06-15T04:25:21.426627Z 01O | ^~~ 2026-06-15T04:25:21.426627Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-06-15T04:25:21.426628Z 01O 27 | if (n<1) return 0; 2026-06-15T04:25:21.426628Z 01O | ^ 2026-06-15T04:25:21.426718Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-06-15T04:25:21.426719Z 01O 29 | va_start(ap, fmt); 2026-06-15T04:25:21.426719Z 01O | ^ 2026-06-15T04:25:21.426723Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-06-15T04:25:21.426724Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-06-15T04:25:21.426724Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-06-15T04:25:21.426725Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-06-15T04:25:21.426725Z 01O 40 | while (*ch!='\0') { 2026-06-15T04:25:21.426725Z 01O | ^~~~~~~~~ 2026-06-15T04:25:21.426726Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-06-15T04:25:21.426726Z 01O 40 | while (*ch!='\0') { 2026-06-15T04:25:21.426727Z 01O | ^ 2026-06-15T04:25:21.426729Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-06-15T04:25:21.426729Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-06-15T04:25:21.426730Z 01O | ^~~~~~~~ 2026-06-15T04:25:21.426810Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-06-15T04:25:21.426811Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-06-15T04:25:21.426812Z 01O | ^ 2026-06-15T04:25:21.426815Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-06-15T04:25:21.426815Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-06-15T04:25:21.426816Z 01O | ^~~~~~~~~~ 2026-06-15T04:25:21.426816Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-06-15T04:25:21.426817Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-06-15T04:25:21.426817Z 01O | ^ 2026-06-15T04:25:21.426818Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-06-15T04:25:21.426818Z 01O 47 | if (!end) { 2026-06-15T04:25:21.426819Z 01O | ^~~~ 2026-06-15T04:25:21.426819Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-06-15T04:25:21.426820Z 01O 47 | if (!end) { 2026-06-15T04:25:21.426820Z 01O | ^ 2026-06-15T04:25:21.426822Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-06-15T04:25:21.426823Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-06-15T04:25:21.426823Z 01O | ^ 2026-06-15T04:25:21.426839Z 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-06-15T04:25:21.426841Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-06-15T04:25:21.426841Z 01O | ^~~~~~ 2026-06-15T04:25:21.426841Z 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-06-15T04:25:21.426847Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-06-15T04:25:21.426848Z 01O | ^~~~~~ 2026-06-15T04:25:21.444484Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-06-15T04:25:21.985968Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-06-15T04:25:21.986105Z 01O * using R Under development (unstable) (2026-06-13 r90149) 2026-06-15T04:25:21.986420Z 01O * using platform: x86_64-pc-linux-gnu 2026-06-15T04:25:21.986624Z 01O * R was compiled by 2026-06-15T04:25:21.986846Z 01O Debian clang version 21.1.8 (7+b1) 2026-06-15T04:25:21.986847Z 01O GNU Fortran (Debian 15.2.0-17) 15.2.0 2026-06-15T04:25:21.987164Z 01O * running under: Debian GNU/Linux forky/sid 2026-06-15T04:25:21.987320Z 01O * using session charset: UTF-8 2026-06-15T04:25:21.987892Z 01O * current time: 2026-06-15 04:25:21 UTC 2026-06-15T04:25:22.731081Z 01O * using option ‘--as-cran’ 2026-06-15T04:25:22.731301Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-06-15T04:25:22.733542Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-06-15T04:25:22.733873Z 01O * package encoding: UTF-8 2026-06-15T04:25:22.734106Z 01O * checking CRAN incoming feasibility ... OK 2026-06-15T04:25:23.257481Z 01O * checking package namespace information ... OK 2026-06-15T04:25:23.265633Z 01O * checking package dependencies ... OK 2026-06-15T04:25:24.460280Z 01O * checking if this is a source package ... OK 2026-06-15T04:25:24.463643Z 01O * checking if there is a namespace ... OK 2026-06-15T04:25:24.468390Z 01O * checking for .dll and .exe files ... OK 2026-06-15T04:25:24.469108Z 01O * checking for hidden files and directories ... OK 2026-06-15T04:25:24.472170Z 01O * checking for portable file names ... OK 2026-06-15T04:25:24.488289Z 01O * checking for sufficient/correct file permissions ... OK 2026-06-15T04:25:24.492500Z 01O * checking whether package ‘data.table’ can be installed ... [23s/23s] OK 2026-06-15T04:25:47.253581Z 01O * used C compiler: ‘Debian clang version 21.1.8 (7+b1)’ 2026-06-15T04:25:47.254122Z 01O * checking installed package size ... INFO 2026-06-15T04:25:47.258303Z 01O installed size is 7.9Mb 2026-06-15T04:25:47.258968Z 01O sub-directories of 1Mb or more: 2026-06-15T04:25:47.259536Z 01O doc 1.1Mb 2026-06-15T04:25:47.259537Z 01O libs 1.5Mb 2026-06-15T04:25:47.259538Z 01O po 1.7Mb 2026-06-15T04:25:47.259538Z 01O tests 2.2Mb 2026-06-15T04:25:47.270610Z 01O * checking package directory ... OK 2026-06-15T04:25:47.270884Z 01O * checking for future file timestamps ... OK 2026-06-15T04:25:47.271563Z 01O * checking ‘build’ directory ... OK 2026-06-15T04:25:47.272491Z 01O * checking DESCRIPTION meta-information ... OK 2026-06-15T04:25:48.151618Z 01O * checking top-level files ... OK 2026-06-15T04:25:49.665933Z 01O * checking for left-over files ... OK 2026-06-15T04:25:49.669028Z 01O * checking index information ... OK 2026-06-15T04:25:49.854049Z 01O * checking package subdirectories ... OK 2026-06-15T04:25:50.260111Z 01O * checking code files for non-ASCII characters ... OK 2026-06-15T04:25:50.311906Z 01O * checking R files for syntax errors ... OK 2026-06-15T04:25:50.395168Z 01O * checking whether the package can be loaded ... OK 2026-06-15T04:25:50.611752Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-06-15T04:25:50.777175Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-06-15T04:25:50.946532Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-06-15T04:25:51.123787Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-06-15T04:25:51.339598Z 01O * checking loading without being on the library search path ... OK 2026-06-15T04:25:51.762240Z 01O * checking whether startup messages can be suppressed ... OK 2026-06-15T04:25:51.959855Z 01O * checking use of S3 registration ... OK 2026-06-15T04:25:51.991428Z 01O * checking dependencies in R code ... OK 2026-06-15T04:25:52.876424Z 01O * checking S3 generic/method consistency ... OK 2026-06-15T04:25:53.244869Z 01O * checking replacement functions ... OK 2026-06-15T04:25:53.449292Z 01O * checking foreign function calls ... OK 2026-06-15T04:25:54.252313Z 01O * checking R code for possible problems ... [17s/17s] OK 2026-06-15T04:26:11.387832Z 01O * checking Rd files ... OK 2026-06-15T04:26:12.271900Z 01O * checking Rd metadata ... OK 2026-06-15T04:26:12.319154Z 01O * checking Rd line widths ... OK 2026-06-15T04:26:12.626293Z 01O * checking Rd cross-references ... OK 2026-06-15T04:26:13.183444Z 01O * checking for missing documentation entries ... OK 2026-06-15T04:26:13.417731Z 01O * checking for code/documentation mismatches ... OK 2026-06-15T04:26:14.482291Z 01O * checking Rd \usage sections ... OK 2026-06-15T04:26:15.419242Z 01O * checking Rd contents ... OK 2026-06-15T04:26:15.885845Z 01O * checking for unstated dependencies in examples ... OK 2026-06-15T04:26:16.375867Z 01O * checking line endings in shell scripts ... OK 2026-06-15T04:26:16.376508Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-06-15T04:26:16.395459Z 01O * checking line endings in Makefiles ... OK 2026-06-15T04:26:16.396016Z 01O * checking compilation flags in Makevars ... OK 2026-06-15T04:26:16.454661Z 01O * checking for GNU extensions in Makefiles ... OK 2026-06-15T04:26:16.455531Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-06-15T04:26:16.456891Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-06-15T04:26:16.461074Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-06-15T04:26:16.467911Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-06-15T04:26:16.489452Z 01O * checking compilation flags used ... OK 2026-06-15T04:26:16.491165Z 01O * checking compiled code ... OK 2026-06-15T04:26:16.611962Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-06-15T04:26:16.826364Z 01O * checking files in ‘vignettes’ ... OK 2026-06-15T04:26:17.688910Z 01O * checking examples ... OK 2026-06-15T04:26:25.009523Z 01O * checking examples with --run-donttest ... OK 2026-06-15T04:26:35.181878Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-06-15T04:26:35.256385Z 01O * checking tests ... 2026-06-15T04:26:35.412169Z 01O Running ‘autoprint.R’ 2026-06-15T04:26:35.669608Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-06-15T04:26:35.676577Z 01O Running ‘froll.R’ [399s/399s] 2026-06-15T04:33:14.430590Z 01O Running ‘litedown.R’ 2026-06-15T04:33:14.748829Z 01O Running ‘main.R’ [43s/43s] 2026-06-15T04:33:57.354396Z 01O Running ‘mergelist.R’ 2026-06-15T04:33:58.926154Z 01O Running ‘nafill.R’ 2026-06-15T04:33:59.418412Z 01O Running ‘optimize.R’ 2026-06-15T04:34:00.800039Z 01O Running ‘other.R’ 2026-06-15T04:34:01.015558Z 01O Running ‘programming.R’ 2026-06-15T04:34:01.614117Z 01O Running ‘S4.R’ 2026-06-15T04:34:01.948590Z 01O Running ‘types.R’ 2026-06-15T04:34:02.199591Z 01O [447s/447s] OK 2026-06-15T04:34:02.297816Z 01O * checking for unstated dependencies in vignettes ... OK 2026-06-15T04:34:02.597642Z 01O * checking package vignettes ... OK 2026-06-15T04:34:03.234754Z 01O * checking re-building of vignette outputs ... [31s/32s] OK 2026-06-15T04:34:34.961582Z 01O * checking PDF version of manual ... OK 2026-06-15T04:34:40.677428Z 01O * checking HTML version of manual ... NOTE 2026-06-15T04:34:47.132759Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-06-15T04:34:47.132768Z 01O * checking for non-standard things in the check directory ... OK 2026-06-15T04:34:47.133232Z 01O * checking for detritus in the temp directory ... OK 2026-06-15T04:34:47.133897Z 01O * DONE 2026-06-15T04:34:47.134283Z 01E 2026-06-15T04:34:47.134412Z 01O Status: 1 NOTE 2026-06-15T04:34:47.134592Z 01E See 2026-06-15T04:34:47.134593Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-06-15T04:34:47.134594Z 01E for details. 2026-06-15T04:34:47.134746Z 01E 2026-06-15T04:34:47.155643Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-06-15T04:34:47.157798Z 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-06-15T04:34:47.476411Z 00O section_end:1781498087:step_script 2026-06-15T04:34:47.476416Z 00O+section_start:1781498087:after_script 2026-06-15T04:34:47.476818Z 00O+Running after_script 2026-06-15T04:34:47.813252Z 01O Running after script... 2026-06-15T04:34:47.813302Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-06-15T04:34:47.814578Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-06-15T04:34:47.814585Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-06-15T04:34:47.814712Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-06-15T04:34:47.814792Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-06-15T04:34:47.979164Z 00O section_end:1781498087:after_script 2026-06-15T04:34:47.979168Z 00O+section_start:1781498087:upload_artifacts_on_success 2026-06-15T04:34:47.979880Z 00O+Uploading artifacts for successful job 2026-06-15T04:34:48.369248Z 01O Uploading artifacts... 2026-06-15T04:34:48.422286Z 01E bus/test-lin-dev-clang-cran: found 714 matching artifact files and directories 2026-06-15T04:34:50.645141Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=b81995fa56f94c25abdef06129b73e8c id=14850332676 status=201 token=70_ezCupD 2026-06-15T04:34:50.822346Z 00O section_end:1781498090:upload_artifacts_on_success 2026-06-15T04:34:50.822351Z 00O+section_start:1781498090:cleanup_file_variables 2026-06-15T04:34:50.822454Z 00O+Cleaning up project directory and file based variables 2026-06-15T04:34:51.331830Z 00O section_end:1781498091:cleanup_file_variables 2026-06-15T04:34:51.331835Z 00O+ 2026-06-15T04:34:51.370245Z 00O Job succeeded