2026-09-16T04:20:26.421371Z 00O Running with gitlab-runner 19.4.0~pre.1956.g7b010e09 (7b010e09) 2026-09-16T04:20:26.421406Z 00O  on k8s.saas-linux-medium-amd64.runners-manager.gitlab.com/default j8vTLRhES, system ID: r_tr442Kl2p4PO 2026-09-16T04:20:26.421409Z 00O  UUID: 01a01aa6-2f91-7d2c-b24d-7e2d2752ac58 2026-09-16T04:20:26.421417Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true, FF_HASH_CACHE_KEYS:true, FF_MACHINE_OPTIONS_EXPAND_ENV:true 2026-09-16T04:20:26.421451Z 00O Resolving secrets 2026-09-16T04:20:26.421668Z 00O section_start:1789532426:prepare_executor  2026-09-16T04:20:26.421672Z 00O+Preparing the "docker+machine" executor 2026-09-16T04:20:26.596264Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-09-16T04:20:26.596348Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.4.0 ) 2026-09-16T04:20:26.596358Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 2026-09-16T04:20:26.597106Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-09-16T04:20:26.597120Z 00O Pulling docker image registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 ... 2026-09-16T04:20:27.957212Z 00O Using docker image sha256:63a87ec6859e8e26664ce80c944c61f0336a93fcfcf17d898985365641731cef for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:8f7a4e1b7200c3be6a618a55ea7c6747feab2aa22cb729b400ef95b5d7396360 ... 2026-09-16T04:20:29.346292Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.4.0 ) 2026-09-16T04:20:29.346310Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 2026-09-16T04:20:29.347419Z 00O Using docker image sha256:63a87ec6859e8e26664ce80c944c61f0336a93fcfcf17d898985365641731cef for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:8f7a4e1b7200c3be6a618a55ea7c6747feab2aa22cb729b400ef95b5d7396360 ... 2026-09-16T04:20:29.347439Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-09-16T04:20:29.348121Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-09-16T04:20:29.348131Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-09-16T04:20:45.060885Z 00O Using docker image sha256:50b131cb2ba14f8ea97807e0907af982b20ca2f6e44b79b97a4b74113468ccc1 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:38538eb2fd0f9e4306f58d4ca7bc4d12657e438bb1215e96f7cd55fdbe5b18fa ... 2026-09-16T04:20:45.060999Z 00O section_end:1789532445:prepare_executor  2026-09-16T04:20:45.061131Z 00O+section_start:1789532445:prepare_script  2026-09-16T04:20:45.061137Z 00O+Preparing environment 2026-09-16T04:20:45.061174Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.4.0 ) 2026-09-16T04:20:45.061203Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 2026-09-16T04:20:45.062138Z 00O Using docker image sha256:63a87ec6859e8e26664ce80c944c61f0336a93fcfcf17d898985365641731cef for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:8f7a4e1b7200c3be6a618a55ea7c6747feab2aa22cb729b400ef95b5d7396360 ... 2026-09-16T04:20:45.062158Z 00O Using effective pull policy of [always] for container sha256:63a87ec6859e8e26664ce80c944c61f0336a93fcfcf17d898985365641731cef 2026-09-16T04:20:56.207516Z 01O Running on runner-j8vtlrhes-project-3622566-concurrent-0 via runner-j8vtlrhes-s-l-m-amd64-1789532303-92a544bd... 2026-09-16T04:20:56.326414Z 00O section_end:1789532456:prepare_script  2026-09-16T04:20:56.327447Z 00O+section_start:1789532456:get_sources  2026-09-16T04:20:56.327454Z 00O+Getting source from Git repository 2026-09-16T04:20:56.567772Z 01O Gitaly correlation ID: da4d3118f48e4d09a2065380b3e5fa3e 2026-09-16T04:20:56.570692Z 01O Fetching changes... 2026-09-16T04:20:56.573105Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-09-16T04:20:56.574422Z 01O Created fresh repository. 2026-09-16T04:21:00.284220Z 01O Checking out a3eeb4c0 as detached HEAD (ref is master)... 2026-09-16T04:21:00.393167Z 01O 2026-09-16T04:21:00.393173Z 01O Skipping Git submodules setup 2026-09-16T04:21:00.393175Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-09-16T04:21:00.556585Z 00O section_end:1789532460:get_sources  2026-09-16T04:21:00.557900Z 00O+section_start:1789532460:download_artifacts  2026-09-16T04:21:00.557910Z 00O+Downloading artifacts 2026-09-16T04:21:00.812611Z 01O Downloading artifacts for mirror-packages (16527545484)... 2026-09-16T04:21:01.012310Z 01E Direct download from storage.googleapis.com  correlation_id=da9bd0d0b23842eeb6c1761ffc09b5d2 id=16527545484 status=302 token=73_u5Yejy 2026-09-16T04:21:01.777073Z 01E Downloading artifacts from coordinator... ok  correlation_id=da9bd0d0b23842eeb6c1761ffc09b5d2 id=16527545484 status=302 token=73_u5Yejy 2026-09-16T04:21:02.217486Z 01O Downloading artifacts for build (16527545485)... 2026-09-16T04:21:02.390847Z 01E Direct download from storage.googleapis.com  correlation_id=e3631f10a3f440e7a886d4c4949f3f55 id=16527545485 status=302 token=73_u5Yejy 2026-09-16T04:21:02.807777Z 01E Downloading artifacts from coordinator... ok  correlation_id=e3631f10a3f440e7a886d4c4949f3f55 id=16527545485 status=302 token=73_u5Yejy 2026-09-16T04:21:03.423207Z 00O section_end:1789532463:download_artifacts  2026-09-16T04:21:03.423752Z 00O+section_start:1789532463:step_script  2026-09-16T04:21:03.423762Z 00O+Executing "step_script" stage of the job script 2026-09-16T04:21:03.423776Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-09-16T04:21:03.424889Z 00O Using docker image sha256:50b131cb2ba14f8ea97807e0907af982b20ca2f6e44b79b97a4b74113468ccc1 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:38538eb2fd0f9e4306f58d4ca7bc4d12657e438bb1215e96f7cd55fdbe5b18fa ... 2026-09-16T04:21:03.659850Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-09-16T04:21:03.664366Z 01O $ mkdir -p ~/.R 2026-09-16T04:21:03.665189Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-09-16T04:21:03.665197Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-09-16T04:21:03.665200Z 01O $ Rscript -e 'source(".ci/ci.R"); install.packages(dcf.dependencies("DESCRIPTION", which="all"), repos=file.path("file:", normalizePath("bus/mirror-packages/cran", mustWork=FALSE)), quiet=TRUE)' 2026-09-16T04:21:03.809720Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-09-16T04:21:03.809751Z 01E 2026-09-16T04:21:51.978284Z 01E Updating HTML index of packages in '.Library' 2026-09-16T04:21:51.978830Z 01E Making 'packages.html' ... done 2026-09-16T04:21:51.987417Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-09-16T04:21:52.000523Z 01E [1/48] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-09-16T04:21:56.373273Z 01E 2 warnings generated. 2026-09-16T04:21:56.373458Z 01E [2/48] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-09-16T04:21:58.199720Z 01E 2 warnings generated. 2026-09-16T04:21:58.199791Z 01E [3/48] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-09-16T04:22:02.265820Z 01E 2 warnings generated. 2026-09-16T04:22:02.265834Z 01E [4/48] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-09-16T04:22:02.405052Z 01E 6 warnings generated. 2026-09-16T04:22:02.405063Z 01E [5/48] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-09-16T04:22:04.114195Z 01E 6 warnings generated. 2026-09-16T04:22:04.114219Z 01E [6/48] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-09-16T04:22:05.557227Z 01E 6 warnings generated. 2026-09-16T04:22:05.557262Z 01E [7/48] Processing file /builds/Rdatatable/data.table/src/deleterows.c. 2026-09-16T04:22:05.711302Z 01E 6 warnings generated. 2026-09-16T04:22:05.711378Z 01E [8/48] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-09-16T04:22:08.273261Z 01E 6 warnings generated. 2026-09-16T04:22:08.273345Z 01E [9/48] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-09-16T04:22:08.311009Z 01E 6 warnings generated. 2026-09-16T04:22:08.311109Z 01E [10/48] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-09-16T04:22:10.127291Z 01E 9 warnings generated. 2026-09-16T04:22:10.127354Z 01E [11/48] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-09-16T04:22:13.405284Z 01E 10 warnings generated. 2026-09-16T04:22:13.405329Z 01E [12/48] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-09-16T04:22:15.833264Z 01E 11 warnings generated. 2026-09-16T04:22:15.833508Z 01E [13/48] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-09-16T04:22:20.991401Z 01E 12 warnings generated. 2026-09-16T04:22:20.991415Z 01E [14/48] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-09-16T04:22:22.925618Z 01E 12 warnings generated. 2026-09-16T04:22:22.925640Z 01E [15/48] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-09-16T04:22:26.437633Z 01E 24 warnings generated. 2026-09-16T04:22:26.437734Z 01E [16/48] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-09-16T04:22:31.687522Z 01E 27 warnings generated. 2026-09-16T04:22:31.687533Z 01E [17/48] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-09-16T04:22:38.118183Z 01E 33 warnings generated. 2026-09-16T04:22:38.118201Z 01E [18/48] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-09-16T04:22:40.212666Z 01E 34 warnings generated. 2026-09-16T04:22:40.212674Z 01E [19/48] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-09-16T04:22:41.709946Z 01E 37 warnings generated. 2026-09-16T04:22:41.710002Z 01E [20/48] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-09-16T04:22:41.741027Z 01E 37 warnings generated. 2026-09-16T04:22:41.741226Z 01E [21/48] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-09-16T04:22:41.935986Z 01E 37 warnings generated. 2026-09-16T04:22:41.936182Z 01E [22/48] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-09-16T04:22:45.845445Z 01E 39 warnings generated. 2026-09-16T04:22:45.845467Z 01E [23/48] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-09-16T04:22:47.839201Z 01E 39 warnings generated. 2026-09-16T04:22:47.839397Z 01E [24/48] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-09-16T04:22:56.578145Z 01E 44 warnings generated. 2026-09-16T04:22:56.578163Z 01E [25/48] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-09-16T04:22:56.644816Z 01E 45 warnings generated. 2026-09-16T04:22:56.644840Z 01E [26/48] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-09-16T04:22:56.796510Z 01E 45 warnings generated. 2026-09-16T04:22:56.796600Z 01E [27/48] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-09-16T04:22:59.524684Z 01E 48 warnings generated. 2026-09-16T04:22:59.524854Z 01E [28/48] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-09-16T04:22:59.555129Z 01E 48 warnings generated. 2026-09-16T04:22:59.555295Z 01E [29/48] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-09-16T04:22:59.575858Z 01E 48 warnings generated. 2026-09-16T04:22:59.575868Z 01E [30/48] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-09-16T04:23:00.037427Z 01E 48 warnings generated. 2026-09-16T04:23:00.037496Z 01E [31/48] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-09-16T04:23:02.014586Z 01E 61 warnings generated. 2026-09-16T04:23:02.014633Z 01E [32/48] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-09-16T04:23:02.035434Z 01E 61 warnings generated. 2026-09-16T04:23:02.035648Z 01E [33/48] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-09-16T04:23:02.066208Z 01E 61 warnings generated. 2026-09-16T04:23:02.066478Z 01E [34/48] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-09-16T04:23:02.152349Z 01E 62 warnings generated. 2026-09-16T04:23:02.152374Z 01E [35/48] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-09-16T04:23:02.412283Z 01E 62 warnings generated. 2026-09-16T04:23:02.412530Z 01E [36/48] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-09-16T04:23:02.889248Z 01E 62 warnings generated. 2026-09-16T04:23:02.889260Z 01E [37/48] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-09-16T04:23:05.001575Z 01E 68 warnings generated. 2026-09-16T04:23:05.001663Z 01E [38/48] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-09-16T04:23:06.595572Z 01E 68 warnings generated. 2026-09-16T04:23:06.595681Z 01E [39/48] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-09-16T04:23:06.614015Z 01E 68 warnings generated. 2026-09-16T04:23:06.614027Z 01E [40/48] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-09-16T04:23:08.367768Z 01E 68 warnings generated. 2026-09-16T04:23:08.367996Z 01E [41/48] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-09-16T04:23:09.125798Z 01E 70 warnings generated. 2026-09-16T04:23:09.125838Z 01E [42/48] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-09-16T04:23:09.326805Z 01E 70 warnings generated. 2026-09-16T04:23:09.326864Z 01E [43/48] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-09-16T04:23:10.937498Z 01E 70 warnings generated. 2026-09-16T04:23:10.937654Z 01E [44/48] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-09-16T04:23:11.117955Z 01E 70 warnings generated. 2026-09-16T04:23:11.118048Z 01E [45/48] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-09-16T04:23:15.376427Z 01E 70 warnings generated. 2026-09-16T04:23:15.376527Z 01E [46/48] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-09-16T04:23:15.955381Z 01E 70 warnings generated. 2026-09-16T04:23:15.955546Z 01E [47/48] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-09-16T04:23:15.980017Z 01E 70 warnings generated. 2026-09-16T04:23:15.980165Z 01E [48/48] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-09-16T04:23:17.678772Z 01E 70 warnings generated. 2026-09-16T04:23:17.679754Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: warning: Out of bound access to memory after the end of 'source' [clang-analyzer-security.ArrayBound] 2026-09-16T04:23:17.679767Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-16T04:23:17.679768Z 01O | ^ 2026-09-16T04:23:17.679770Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-09-16T04:23:17.679771Z 01O 934 | const STYPE val = sd[soff]; \ 2026-09-16T04:23:17.679773Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.679774Z 01O /builds/Rdatatable/data.table/src/assign.c:711:7: note: Assuming 'len' is >= 1 2026-09-16T04:23:17.679775Z 01O 711 | if (len<1) return NULL; 2026-09-16T04:23:17.679776Z 01O | ^~~~~ 2026-09-16T04:23:17.679777Z 01O /builds/Rdatatable/data.table/src/assign.c:711:3: note: Taking false branch 2026-09-16T04:23:17.679778Z 01O 711 | if (len<1) return NULL; 2026-09-16T04:23:17.679779Z 01O | ^ 2026-09-16T04:23:17.679780Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: Assuming 'sourceLen' is < 0 2026-09-16T04:23:17.679781Z 01O 712 | int slen = sourceLen>=0 ? sourceLen : length(source); // since source may get reassigned to a scalar, we should not mark it as const 2026-09-16T04:23:17.679783Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.679784Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: '?' condition is false 2026-09-16T04:23:17.679785Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'slen' is not equal to 0 2026-09-16T04:23:17.679787Z 01O 713 | if (slen==0) return NULL; 2026-09-16T04:23:17.679788Z 01O | ^~~~~~~ 2026-09-16T04:23:17.679789Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2026-09-16T04:23:17.679790Z 01O 713 | if (slen==0) return NULL; 2026-09-16T04:23:17.679791Z 01O | ^ 2026-09-16T04:23:17.679792Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'sourceStart' is >= 0 2026-09-16T04:23:17.679793Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-09-16T04:23:17.679794Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.679794Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Left side of '||' is false 2026-09-16T04:23:17.679795Z 01O /builds/Rdatatable/data.table/src/assign.c:714:24: note: Assuming the condition is false 2026-09-16T04:23:17.679796Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-09-16T04:23:17.679797Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.679798Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-09-16T04:23:17.679799Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-09-16T04:23:17.679800Z 01O | ^ 2026-09-16T04:23:17.679801Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming the condition is false 2026-09-16T04:23:17.679801Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-09-16T04:23:17.679855Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.679856Z 01O /builds/Rdatatable/data.table/src/assign.c:716:22: note: Left side of '&&' is false 2026-09-16T04:23:17.679858Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-09-16T04:23:17.679859Z 01O | ^ 2026-09-16T04:23:17.679859Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming 'slen' is <= 1 2026-09-16T04:23:17.679861Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-09-16T04:23:17.679862Z 01O | ^~~~~~ 2026-09-16T04:23:17.679862Z 01O /builds/Rdatatable/data.table/src/assign.c:719:14: note: Left side of '&&' is false 2026-09-16T04:23:17.679864Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-09-16T04:23:17.679865Z 01O | ^ 2026-09-16T04:23:17.679866Z 01O /builds/Rdatatable/data.table/src/assign.c:723:7: note: Assuming 'colname' is not equal to NULL 2026-09-16T04:23:17.679867Z 01O 723 | if (colname==NULL) 2026-09-16T04:23:17.679868Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.679868Z 01O /builds/Rdatatable/data.table/src/assign.c:723:3: note: Taking false branch 2026-09-16T04:23:17.679870Z 01O 723 | if (colname==NULL) 2026-09-16T04:23:17.679870Z 01O | ^ 2026-09-16T04:23:17.679871Z 01O /builds/Rdatatable/data.table/src/assign.c:728:26: note: Assuming the condition is false 2026-09-16T04:23:17.679873Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-09-16T04:23:17.679874Z 01O | ^ 2026-09-16T04:23:17.679890Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-09-16T04:23:17.679892Z 01O 963 | #define isReal Rf_isReal 2026-09-16T04:23:17.679893Z 01O | ^ 2026-09-16T04:23:17.679894Z 01O /builds/Rdatatable/data.table/src/assign.c:728:41: note: Left side of '&&' is false 2026-09-16T04:23:17.679895Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-09-16T04:23:17.679897Z 01O | ^ 2026-09-16T04:23:17.679933Z 01O /builds/Rdatatable/data.table/src/assign.c:729:26: note: Assuming the condition is false 2026-09-16T04:23:17.679934Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-09-16T04:23:17.679935Z 01O | ^ 2026-09-16T04:23:17.679936Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-09-16T04:23:17.679936Z 01O 963 | #define isReal Rf_isReal 2026-09-16T04:23:17.679937Z 01O | ^ 2026-09-16T04:23:17.679938Z 01O /builds/Rdatatable/data.table/src/assign.c:729:41: note: Left side of '&&' is false 2026-09-16T04:23:17.679939Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-09-16T04:23:17.679940Z 01O | ^ 2026-09-16T04:23:17.679941Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Assuming 'sourceIsFactor' is false 2026-09-16T04:23:17.679942Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-09-16T04:23:17.679943Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.679944Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Left side of '||' is false 2026-09-16T04:23:17.679945Z 01O /builds/Rdatatable/data.table/src/assign.c:730:25: note: Assuming 'targetIsFactor' is false 2026-09-16T04:23:17.679946Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-09-16T04:23:17.679947Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.679958Z 01O /builds/Rdatatable/data.table/src/assign.c:730:3: note: Taking false branch 2026-09-16T04:23:17.679960Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-09-16T04:23:17.679961Z 01O | ^ 2026-09-16T04:23:17.679961Z 01O /builds/Rdatatable/data.table/src/assign.c:837:14: note: Assuming the condition is false 2026-09-16T04:23:17.679979Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-09-16T04:23:17.679981Z 01O | ^ 2026-09-16T04:23:17.679999Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-09-16T04:23:17.680001Z 01O 966 | #define isString Rf_isString 2026-09-16T04:23:17.680002Z 01O | ^ 2026-09-16T04:23:17.680003Z 01O /builds/Rdatatable/data.table/src/assign.c:837:31: note: Left side of '&&' is false 2026-09-16T04:23:17.680004Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-09-16T04:23:17.680005Z 01O | ^ 2026-09-16T04:23:17.680006Z 01O /builds/Rdatatable/data.table/src/assign.c:846:14: note: Assuming the condition is false 2026-09-16T04:23:17.680008Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-09-16T04:23:17.680009Z 01O | ^ 2026-09-16T04:23:17.680010Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-09-16T04:23:17.680011Z 01O 955 | #define isNewList Rf_isNewList 2026-09-16T04:23:17.680012Z 01O | ^ 2026-09-16T04:23:17.680023Z 01O /builds/Rdatatable/data.table/src/assign.c:846:32: note: Left side of '&&' is false 2026-09-16T04:23:17.680023Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-09-16T04:23:17.680024Z 01O | ^ 2026-09-16T04:23:17.680025Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Assuming the condition is false 2026-09-16T04:23:17.680025Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-09-16T04:23:17.680026Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.680027Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Left side of '||' is false 2026-09-16T04:23:17.680032Z 01O /builds/Rdatatable/data.table/src/assign.c:861:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-09-16T04:23:17.680033Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-09-16T04:23:17.680035Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.680044Z 01O /builds/Rdatatable/data.table/src/assign.c:861:75: note: Left side of '&&' is false 2026-09-16T04:23:17.680045Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-09-16T04:23:17.680046Z 01O | ^ 2026-09-16T04:23:17.680056Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: Assuming the condition is false 2026-09-16T04:23:17.680057Z 01O 971 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-09-16T04:23:17.680059Z 01O | ^ 2026-09-16T04:23:17.680060Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680061Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680062Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.680106Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: '?' condition is false 2026-09-16T04:23:17.680108Z 01O 971 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-09-16T04:23:17.680110Z 01O | ^ 2026-09-16T04:23:17.680111Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680112Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680113Z 01O | ^ 2026-09-16T04:23:17.680156Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Assuming the condition is true 2026-09-16T04:23:17.680158Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-09-16T04:23:17.680160Z 01O | ^ 2026-09-16T04:23:17.680161Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680162Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680163Z 01O | ^ 2026-09-16T04:23:17.680172Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-09-16T04:23:17.680174Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-09-16T04:23:17.680176Z 01O | ^ 2026-09-16T04:23:17.680177Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680178Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680179Z 01O | ^ 2026-09-16T04:23:17.680186Z 01O /builds/Rdatatable/data.table/src/assign.c:972:39: note: Assuming 'slen' is > 0 2026-09-16T04:23:17.680187Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-09-16T04:23:17.680190Z 01O | ^~~~~~ 2026-09-16T04:23:17.680198Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-09-16T04:23:17.680199Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-09-16T04:23:17.680201Z 01O | ^ 2026-09-16T04:23:17.680202Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680204Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680205Z 01O | ^ 2026-09-16T04:23:17.680211Z 01O /builds/Rdatatable/data.table/src/assign.c:972:49: note: Assuming 'slen' is equal to 'len' 2026-09-16T04:23:17.680213Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-09-16T04:23:17.680214Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.680222Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-09-16T04:23:17.680223Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-09-16T04:23:17.680224Z 01O | ^ 2026-09-16T04:23:17.680225Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680226Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680226Z 01O | ^ 2026-09-16T04:23:17.680234Z 01O /builds/Rdatatable/data.table/src/assign.c:972:62: note: Assuming 'soff' is not equal to 0 2026-09-16T04:23:17.680235Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-09-16T04:23:17.680237Z 01O | ^~~~~~~ 2026-09-16T04:23:17.680251Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: Assuming the condition is false 2026-09-16T04:23:17.680263Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-09-16T04:23:17.680265Z 01O | ^ 2026-09-16T04:23:17.680266Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680267Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680268Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.680314Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: '?' condition is false 2026-09-16T04:23:17.680315Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-09-16T04:23:17.680317Z 01O | ^ 2026-09-16T04:23:17.680317Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680318Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680319Z 01O | ^ 2026-09-16T04:23:17.680324Z 01O /builds/Rdatatable/data.table/src/assign.c:974:3: note: Control jumps to 'case 20:' at line 1102 2026-09-16T04:23:17.680326Z 01O 974 | switch (TYPEOF(target)) { 2026-09-16T04:23:17.680327Z 01O | ^ 2026-09-16T04:23:17.680342Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: 'len' is equal to 1 2026-09-16T04:23:17.680343Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-16T04:23:17.680345Z 01O | ^~~ 2026-09-16T04:23:17.680345Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-09-16T04:23:17.680347Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:21: note: Assuming the condition is true 2026-09-16T04:23:17.680348Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-16T04:23:17.680349Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.680350Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-09-16T04:23:17.680351Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-16T04:23:17.680352Z 01O | ^ 2026-09-16T04:23:17.680353Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:47: note: Assuming the condition is true 2026-09-16T04:23:17.680355Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-16T04:23:17.680356Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.680357Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:5: note: Taking true branch 2026-09-16T04:23:17.680358Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-16T04:23:17.680360Z 01O | ^ 2026-09-16T04:23:17.680381Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Assuming the condition is true 2026-09-16T04:23:17.680382Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-16T04:23:17.680383Z 01O | ^ 2026-09-16T04:23:17.680384Z 01O /builds/Rdatatable/data.table/src/assign.c:932:9: note: expanded from macro 'BODY' 2026-09-16T04:23:17.680386Z 01O 932 | if (length(where)) { \ 2026-09-16T04:23:17.680387Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.680388Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.680389Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.680390Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.680391Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-09-16T04:23:17.680392Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-16T04:23:17.680394Z 01O | ^ 2026-09-16T04:23:17.680394Z 01O /builds/Rdatatable/data.table/src/assign.c:932:5: note: expanded from macro 'BODY' 2026-09-16T04:23:17.680407Z 01O 932 | if (length(where)) { \ 2026-09-16T04:23:17.680408Z 01O | ^ 2026-09-16T04:23:17.680409Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: 'slen' is equal to 1 2026-09-16T04:23:17.680410Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-16T04:23:17.680411Z 01O | ^ 2026-09-16T04:23:17.680411Z 01O /builds/Rdatatable/data.table/src/assign.c:933:11: note: expanded from macro 'BODY' 2026-09-16T04:23:17.680413Z 01O 933 | if (slen==1) { \ 2026-09-16T04:23:17.680413Z 01O | ^~~~ 2026-09-16T04:23:17.680414Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-09-16T04:23:17.680414Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-16T04:23:17.680415Z 01O | ^ 2026-09-16T04:23:17.680416Z 01O /builds/Rdatatable/data.table/src/assign.c:933:7: note: expanded from macro 'BODY' 2026-09-16T04:23:17.680417Z 01O 933 | if (slen==1) { \ 2026-09-16T04:23:17.680418Z 01O | ^ 2026-09-16T04:23:17.680418Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Access of 'source' at an overflowing index, while it holds only a single 'struct SEXPREC *' element 2026-09-16T04:23:17.680420Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-16T04:23:17.680421Z 01O | ^ 2026-09-16T04:23:17.680422Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-09-16T04:23:17.680423Z 01O 934 | const STYPE val = sd[soff]; \ 2026-09-16T04:23:17.680424Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.680465Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2026-09-16T04:23:17.680467Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-09-16T04:23:17.680468Z 01O | ^~~~~ 2026-09-16T04:23:17.680469Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-09-16T04:23:17.680470Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-09-16T04:23:17.680472Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.680472Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-09-16T04:23:17.680474Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-09-16T04:23:17.680475Z 01O | ^ 2026-09-16T04:23:17.680476Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-09-16T04:23:17.680477Z 01O 6 | if (chin && chmatchdup) 2026-09-16T04:23:17.680478Z 01O | ^~~~ 2026-09-16T04:23:17.680489Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-09-16T04:23:17.680491Z 01O 6 | if (chin && chmatchdup) 2026-09-16T04:23:17.680492Z 01O | ^ 2026-09-16T04:23:17.680492Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-09-16T04:23:17.680494Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-09-16T04:23:17.680495Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.680496Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-09-16T04:23:17.680497Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-09-16T04:23:17.680498Z 01O | ^ 2026-09-16T04:23:17.680499Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-09-16T04:23:17.680500Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-09-16T04:23:17.680501Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.680502Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-09-16T04:23:17.680516Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-09-16T04:23:17.680517Z 01O | ^ 2026-09-16T04:23:17.680518Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-09-16T04:23:17.680519Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-09-16T04:23:17.680520Z 01O | ^ 2026-09-16T04:23:17.680521Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-09-16T04:23:17.680528Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-09-16T04:23:17.680529Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-09-16T04:23:17.680530Z 01O | ^~~~~~~ 2026-09-16T04:23:17.680531Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-09-16T04:23:17.680532Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-09-16T04:23:17.680533Z 01O | ^ 2026-09-16T04:23:17.680540Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-09-16T04:23:17.680541Z 01O 31 | if (tablelen==0) { 2026-09-16T04:23:17.680542Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.680543Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-09-16T04:23:17.680544Z 01O 31 | if (tablelen==0) { 2026-09-16T04:23:17.680545Z 01O | ^ 2026-09-16T04:23:17.680546Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-09-16T04:23:17.680547Z 01O 40 | if (isSymbol(x)) { 2026-09-16T04:23:17.680548Z 01O | ^ 2026-09-16T04:23:17.680549Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-09-16T04:23:17.680550Z 01O 953 | #define isSymbol Rf_isSymbol 2026-09-16T04:23:17.680550Z 01O | ^ 2026-09-16T04:23:17.680551Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-09-16T04:23:17.680553Z 01O 40 | if (isSymbol(x)) { 2026-09-16T04:23:17.680554Z 01O | ^ 2026-09-16T04:23:17.680558Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-09-16T04:23:17.680560Z 01O 46 | if (xlen==1) { 2026-09-16T04:23:17.680560Z 01O | ^~~~~~~ 2026-09-16T04:23:17.680561Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-09-16T04:23:17.680563Z 01O 46 | if (xlen==1) { 2026-09-16T04:23:17.680563Z 01O | ^ 2026-09-16T04:23:17.680569Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-09-16T04:23:17.680570Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.680571Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.680572Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-09-16T04:23:17.680579Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-09-16T04:23:17.680581Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.680582Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.680583Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-09-16T04:23:17.680584Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.680585Z 01O | ^ 2026-09-16T04:23:17.680628Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-09-16T04:23:17.680630Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-09-16T04:23:17.680631Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.680632Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.680633Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-09-16T04:23:17.680647Z 01O | ^ 2026-09-16T04:23:17.680648Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-09-16T04:23:17.680649Z 01O 66 | if (tl == 0) { 2026-09-16T04:23:17.680650Z 01O | ^~~~~~~ 2026-09-16T04:23:17.680651Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-09-16T04:23:17.680652Z 01O 66 | if (tl == 0) { 2026-09-16T04:23:17.680653Z 01O | ^ 2026-09-16T04:23:17.680654Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-09-16T04:23:17.680655Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-09-16T04:23:17.680656Z 01O | ^ 2026-09-16T04:23:17.680657Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.680659Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-09-16T04:23:17.680660Z 01O | ^ 2026-09-16T04:23:17.680660Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: note: Access of 'sym' at index 1, while it holds only a single 'struct SEXPREC *' element 2026-09-16T04:23:17.680662Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-09-16T04:23:17.680663Z 01O | ^~~~~ 2026-09-16T04:23:17.680669Z 01O /builds/Rdatatable/data.table/src/chmatch.c:128:34: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2026-09-16T04:23:17.680671Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-09-16T04:23:17.680672Z 01O | ^~~~~ 2026-09-16T04:23:17.680682Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-09-16T04:23:17.680683Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-09-16T04:23:17.680684Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.680685Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-09-16T04:23:17.680686Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-09-16T04:23:17.680687Z 01O | ^ 2026-09-16T04:23:17.680688Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-09-16T04:23:17.680690Z 01O 6 | if (chin && chmatchdup) 2026-09-16T04:23:17.680691Z 01O | ^~~~ 2026-09-16T04:23:17.680691Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-09-16T04:23:17.680693Z 01O 6 | if (chin && chmatchdup) 2026-09-16T04:23:17.680694Z 01O | ^ 2026-09-16T04:23:17.680694Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-09-16T04:23:17.680695Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-09-16T04:23:17.680696Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.680697Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-09-16T04:23:17.680698Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-09-16T04:23:17.680698Z 01O | ^ 2026-09-16T04:23:17.680705Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-09-16T04:23:17.680706Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-09-16T04:23:17.680707Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.680708Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-09-16T04:23:17.680716Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-09-16T04:23:17.680718Z 01O | ^ 2026-09-16T04:23:17.680756Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-09-16T04:23:17.680758Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-09-16T04:23:17.680759Z 01O | ^ 2026-09-16T04:23:17.680760Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-09-16T04:23:17.680777Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-09-16T04:23:17.680778Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-09-16T04:23:17.680779Z 01O | ^~~~~~~ 2026-09-16T04:23:17.680780Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-09-16T04:23:17.680782Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-09-16T04:23:17.680783Z 01O | ^ 2026-09-16T04:23:17.680787Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-09-16T04:23:17.680789Z 01O 31 | if (tablelen==0) { 2026-09-16T04:23:17.680790Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.680831Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-09-16T04:23:17.680832Z 01O 31 | if (tablelen==0) { 2026-09-16T04:23:17.680833Z 01O | ^ 2026-09-16T04:23:17.680834Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-09-16T04:23:17.680835Z 01O 40 | if (isSymbol(x)) { 2026-09-16T04:23:17.680836Z 01O | ^ 2026-09-16T04:23:17.680836Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-09-16T04:23:17.680838Z 01O 953 | #define isSymbol Rf_isSymbol 2026-09-16T04:23:17.680839Z 01O | ^ 2026-09-16T04:23:17.680840Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-09-16T04:23:17.680841Z 01O 40 | if (isSymbol(x)) { 2026-09-16T04:23:17.680841Z 01O | ^ 2026-09-16T04:23:17.680842Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-09-16T04:23:17.680843Z 01O 46 | if (xlen==1) { 2026-09-16T04:23:17.680844Z 01O | ^~~~~~~ 2026-09-16T04:23:17.680845Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-09-16T04:23:17.680846Z 01O 46 | if (xlen==1) { 2026-09-16T04:23:17.680847Z 01O | ^ 2026-09-16T04:23:17.680853Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-09-16T04:23:17.680855Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.680856Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.680862Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-09-16T04:23:17.680863Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.680864Z 01O | ^ 2026-09-16T04:23:17.680865Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-09-16T04:23:17.680867Z 01O 99 | for (int i=0; i= 'tablelen' 2026-09-16T04:23:17.680916Z 01O 123 | for (int i=0; i= 'tablelen' 2026-09-16T04:23:17.680932Z 01O 125 | for (int i=0; i= 0 2026-09-16T04:23:17.680998Z 01O 129 | if (u<0) { 2026-09-16T04:23:17.680999Z 01O | ^~~ 2026-09-16T04:23:17.681000Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-09-16T04:23:17.681001Z 01O 129 | if (u<0) { 2026-09-16T04:23:17.681002Z 01O | ^ 2026-09-16T04:23:17.681006Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-09-16T04:23:17.681008Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-09-16T04:23:17.681180Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.681188Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-09-16T04:23:17.681189Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.681190Z 01O | ^ 2026-09-16T04:23:17.681191Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-09-16T04:23:17.681192Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.681193Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.681194Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-09-16T04:23:17.681195Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.681197Z 01O | ^ 2026-09-16T04:23:17.681202Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-09-16T04:23:17.681203Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-09-16T04:23:17.681414Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.681415Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-09-16T04:23:17.681418Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-09-16T04:23:17.681420Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.681420Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.681421Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-09-16T04:23:17.681422Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-16T04:23:17.681423Z 01O | ^ 2026-09-16T04:23:17.681424Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-09-16T04:23:17.681425Z 01O 99 | for (int i=0; i= 0 2026-09-16T04:23:17.681466Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-09-16T04:23:17.681467Z 01O | ^~~ 2026-09-16T04:23:17.681468Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-09-16T04:23:17.681469Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-09-16T04:23:17.681470Z 01O | ^ 2026-09-16T04:23:17.681472Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-09-16T04:23:17.681473Z 01O 144 | for (int i=0; i= 'nlhs' 2026-09-16T04:23:17.681521Z 01O 14 | for (int i=0; i= 'nlhs' 2026-09-16T04:23:17.681605Z 01O 14 | for (int i=0; i= 'nlhs' 2026-09-16T04:23:17.681765Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-09-16T04:23:17.682371Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.682379Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-09-16T04:23:17.682380Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-09-16T04:23:17.682381Z 01O | ^ 2026-09-16T04:23:17.682382Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.682382Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.682383Z 01O | ^ 2026-09-16T04:23:17.682390Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-09-16T04:23:17.682391Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-09-16T04:23:17.682392Z 01O | ^ 2026-09-16T04:23:17.682393Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.682394Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.682395Z 01O | ^ 2026-09-16T04:23:17.682403Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-09-16T04:23:17.682404Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-09-16T04:23:17.682405Z 01O | ^ 2026-09-16T04:23:17.682405Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.682406Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.682407Z 01O | ^ 2026-09-16T04:23:17.682411Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-09-16T04:23:17.682412Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-09-16T04:23:17.682413Z 01O | ^ 2026-09-16T04:23:17.682413Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-09-16T04:23:17.682414Z 01O 228 | for (int i=0; i= 'ncol' 2026-09-16T04:23:17.682452Z 01O 234 | for (int i=0; i= 'nidx' 2026-09-16T04:23:17.682501Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-09-16T04:23:17.682511Z 01O | ^~~~ 2026-09-16T04:23:17.682512Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-09-16T04:23:17.682513Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-09-16T04:23:17.682514Z 01O | ^ 2026-09-16T04:23:17.682514Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-09-16T04:23:17.682515Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-09-16T04:23:17.682580Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-09-16T04:23:17.683083Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-09-16T04:23:17.683232Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683238Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-09-16T04:23:17.683239Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-09-16T04:23:17.683240Z 01O | ^ 2026-09-16T04:23:17.683241Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-09-16T04:23:17.683242Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-09-16T04:23:17.683243Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683243Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-09-16T04:23:17.683244Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-09-16T04:23:17.683244Z 01O | ^ 2026-09-16T04:23:17.683247Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-09-16T04:23:17.683248Z 01O 326 | if (new_marks != marks) { 2026-09-16T04:23:17.683249Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683252Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-09-16T04:23:17.683253Z 01O 326 | if (new_marks != marks) { 2026-09-16T04:23:17.683253Z 01O | ^ 2026-09-16T04:23:17.683257Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-09-16T04:23:17.683259Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-09-16T04:23:17.683259Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683260Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-09-16T04:23:17.683261Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-09-16T04:23:17.683262Z 01O | ^ 2026-09-16T04:23:17.683269Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-09-16T04:23:17.683270Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-09-16T04:23:17.683271Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.683272Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-09-16T04:23:17.683273Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-09-16T04:23:17.683274Z 01O | ^ 2026-09-16T04:23:17.683307Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-09-16T04:23:17.683308Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-09-16T04:23:17.683309Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.683322Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-09-16T04:23:17.683323Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-09-16T04:23:17.683324Z 01O | ^ 2026-09-16T04:23:17.683325Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-09-16T04:23:17.683339Z 01O 338 | if (!anynotascii) 2026-09-16T04:23:17.683339Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.683340Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-09-16T04:23:17.683341Z 01O 338 | if (!anynotascii) 2026-09-16T04:23:17.683342Z 01O | ^ 2026-09-16T04:23:17.683347Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-09-16T04:23:17.683348Z 01O 340 | if (!IS_UTF8(s)) 2026-09-16T04:23:17.683349Z 01O | ^ 2026-09-16T04:23:17.683349Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-09-16T04:23:17.683350Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-09-16T04:23:17.683351Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683357Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-09-16T04:23:17.683358Z 01O 925 | #define getCharCE Rf_getCharCE 2026-09-16T04:23:17.683359Z 01O | ^ 2026-09-16T04:23:17.683360Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-09-16T04:23:17.683361Z 01O 340 | if (!IS_UTF8(s)) 2026-09-16T04:23:17.683361Z 01O | ^ 2026-09-16T04:23:17.683362Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-09-16T04:23:17.683363Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-09-16T04:23:17.683392Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-09-16T04:23:17.683412Z 01O 364 | for (int i=0; i> 2026-09-16T04:23:17.683483Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683484Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-09-16T04:23:17.683485Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683485Z 01O 43 | 2026-09-16T04:23:17.683486Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-09-16T04:23:17.683487Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683488Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-09-16T04:23:17.683489Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683489Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-09-16T04:23:17.683490Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683491Z 01O 47 | 2026-09-16T04:23:17.683491Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-09-16T04:23:17.683492Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683493Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-09-16T04:23:17.683494Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683495Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-09-16T04:23:17.683496Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683497Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-09-16T04:23:17.683509Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683510Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-09-16T04:23:17.683511Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683512Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-09-16T04:23:17.683513Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683513Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-09-16T04:23:17.683514Z 01O 1410 | if (freadCleanup()) { 2026-09-16T04:23:17.683515Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.683572Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-09-16T04:23:17.683573Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-16T04:23:17.683574Z 01O | ^~~~ 2026-09-16T04:23:17.683575Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-09-16T04:23:17.683576Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-09-16T04:23:17.683577Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-16T04:23:17.683578Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683579Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-09-16T04:23:17.683580Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-16T04:23:17.683581Z 01O | ^ 2026-09-16T04:23:17.683582Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-09-16T04:23:17.683583Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-16T04:23:17.683584Z 01O | ^~~~ 2026-09-16T04:23:17.683584Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-09-16T04:23:17.683585Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-16T04:23:17.683586Z 01O | ^ 2026-09-16T04:23:17.683587Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-09-16T04:23:17.683588Z 01O 169 | if (mmp != NULL) { 2026-09-16T04:23:17.683589Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.683589Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-09-16T04:23:17.683590Z 01O 169 | if (mmp != NULL) { 2026-09-16T04:23:17.683591Z 01O | ^ 2026-09-16T04:23:17.683592Z 01O /builds/Rdatatable/data.table/src/fread.c:193:15: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-09-16T04:23:17.683593Z 01O 193 | quoteRule = -1; 2026-09-16T04:23:17.683593Z 01O | ^~ 2026-09-16T04:23:17.683594Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2026-09-16T04:23:17.683595Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-09-16T04:23:17.683596Z 01O | ^ ~~ 2026-09-16T04:23:17.683597Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-09-16T04:23:17.683598Z 01O 1410 | if (freadCleanup()) { 2026-09-16T04:23:17.683598Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.683599Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-09-16T04:23:17.683600Z 01O 1410 | if (freadCleanup()) { 2026-09-16T04:23:17.683611Z 01O | ^ 2026-09-16T04:23:17.683612Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.683613Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-09-16T04:23:17.683614Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683614Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-09-16T04:23:17.683615Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-09-16T04:23:17.683616Z 01O | ^ 2026-09-16T04:23:17.683617Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-09-16T04:23:17.683618Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-09-16T04:23:17.683619Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.683619Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-09-16T04:23:17.683620Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-09-16T04:23:17.683621Z 01O | ^ 2026-09-16T04:23:17.683621Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-09-16T04:23:17.683622Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-09-16T04:23:17.683623Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.683623Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-09-16T04:23:17.683624Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-09-16T04:23:17.683625Z 01O | ^ 2026-09-16T04:23:17.683625Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-09-16T04:23:17.683626Z 01O 1420 | if (nth <= 0) nth = 1; 2026-09-16T04:23:17.683626Z 01O | ^~~ 2026-09-16T04:23:17.683626Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-09-16T04:23:17.683627Z 01O 1420 | if (nth <= 0) nth = 1; 2026-09-16T04:23:17.683628Z 01O | ^ 2026-09-16T04:23:17.683628Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-09-16T04:23:17.683629Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-09-16T04:23:17.683631Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683631Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-09-16T04:23:17.683632Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-09-16T04:23:17.683633Z 01O | ^ 2026-09-16T04:23:17.683642Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-09-16T04:23:17.683644Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-09-16T04:23:17.683645Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683646Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-09-16T04:23:17.683647Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-09-16T04:23:17.683648Z 01O | ^ 2026-09-16T04:23:17.683649Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-09-16T04:23:17.683650Z 01O 1436 | while (*nastr) { 2026-09-16T04:23:17.683650Z 01O | ^ 2026-09-16T04:23:17.683651Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-09-16T04:23:17.683652Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-09-16T04:23:17.683653Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683658Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-09-16T04:23:17.683659Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-09-16T04:23:17.683660Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683661Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-09-16T04:23:17.683670Z 01O 1464 | if (verbose) { 2026-09-16T04:23:17.683671Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683672Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-09-16T04:23:17.683673Z 01O 1464 | if (verbose) { 2026-09-16T04:23:17.683673Z 01O | ^ 2026-09-16T04:23:17.683678Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-09-16T04:23:17.683679Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-09-16T04:23:17.683680Z 01O | ^ 2026-09-16T04:23:17.683681Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-09-16T04:23:17.683682Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-09-16T04:23:17.683683Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683688Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-09-16T04:23:17.683689Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-09-16T04:23:17.683690Z 01O | ^ 2026-09-16T04:23:17.683691Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-09-16T04:23:17.683692Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-09-16T04:23:17.683693Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683698Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-09-16T04:23:17.683699Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-09-16T04:23:17.683700Z 01O | ^ 2026-09-16T04:23:17.683701Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-09-16T04:23:17.683702Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-09-16T04:23:17.683703Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.683704Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-09-16T04:23:17.683704Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-09-16T04:23:17.683705Z 01O | ^ 2026-09-16T04:23:17.683706Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-09-16T04:23:17.683707Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-09-16T04:23:17.683708Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683718Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-09-16T04:23:17.683718Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-09-16T04:23:17.683719Z 01O | ^ 2026-09-16T04:23:17.683720Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-09-16T04:23:17.683736Z 01O 1515 | if (args.input) { 2026-09-16T04:23:17.683737Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.683738Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-09-16T04:23:17.683739Z 01O 1515 | if (args.input) { 2026-09-16T04:23:17.683739Z 01O | ^ 2026-09-16T04:23:17.683745Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-09-16T04:23:17.683746Z 01O 1522 | else if (args.filename) { 2026-09-16T04:23:17.683747Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.683748Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-09-16T04:23:17.683748Z 01O 1522 | else if (args.filename) { 2026-09-16T04:23:17.683749Z 01O | ^ 2026-09-16T04:23:17.683750Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-09-16T04:23:17.683763Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-09-16T04:23:17.683764Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683808Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-09-16T04:23:17.683809Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-09-16T04:23:17.683810Z 01O | ^ 2026-09-16T04:23:17.683811Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-09-16T04:23:17.683812Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-09-16T04:23:17.683813Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683817Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-09-16T04:23:17.683818Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-09-16T04:23:17.683819Z 01O | ^~~~~~ 2026-09-16T04:23:17.683820Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-09-16T04:23:17.683821Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-09-16T04:23:17.683822Z 01O | ^ 2026-09-16T04:23:17.683827Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-09-16T04:23:17.683828Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-09-16T04:23:17.683829Z 01O | ^ ~~ 2026-09-16T04:23:17.683830Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.683831Z 01O 1780 | pos = ch; 2026-09-16T04:23:17.683832Z 01O | ^ ~~ 2026-09-16T04:23:17.683832Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-09-16T04:23:17.683833Z 01O 1780 | pos = ch; 2026-09-16T04:23:17.683834Z 01O | ^ ~~ 2026-09-16T04:23:17.683839Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: warning: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' [clang-analyzer-optin.core.EnumCastOutOfRange] 2026-09-16T04:23:17.683841Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-09-16T04:23:17.683842Z 01O | ^~ 2026-09-16T04:23:17.683850Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-09-16T04:23:17.683851Z 01O 38 | enum quote_rule_t 2026-09-16T04:23:17.683852Z 01O | ~~~~~^~~~~~~~~~~~ 2026-09-16T04:23:17.683852Z 01O 39 | { 2026-09-16T04:23:17.683853Z 01O | ~ 2026-09-16T04:23:17.683853Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-09-16T04:23:17.683854Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683855Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-09-16T04:23:17.683856Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683857Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-09-16T04:23:17.683858Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683859Z 01O 43 | 2026-09-16T04:23:17.683860Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-09-16T04:23:17.683861Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683861Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-09-16T04:23:17.683862Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683863Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-09-16T04:23:17.683864Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683865Z 01O 47 | 2026-09-16T04:23:17.683865Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-09-16T04:23:17.683880Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683882Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-09-16T04:23:17.683882Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683883Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-09-16T04:23:17.683884Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683885Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-09-16T04:23:17.683886Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683887Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-09-16T04:23:17.683888Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683889Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-09-16T04:23:17.683890Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683891Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-09-16T04:23:17.683892Z 01O 1410 | if (freadCleanup()) { 2026-09-16T04:23:17.683892Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.683893Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-09-16T04:23:17.683894Z 01O 1410 | if (freadCleanup()) { 2026-09-16T04:23:17.683895Z 01O | ^ 2026-09-16T04:23:17.683902Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.683903Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-09-16T04:23:17.683904Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683905Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-09-16T04:23:17.683905Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-09-16T04:23:17.683906Z 01O | ^ 2026-09-16T04:23:17.683907Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-09-16T04:23:17.683908Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-09-16T04:23:17.683908Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.683909Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-09-16T04:23:17.683910Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-09-16T04:23:17.683911Z 01O | ^ 2026-09-16T04:23:17.683911Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-09-16T04:23:17.683912Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-09-16T04:23:17.683913Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.683913Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-09-16T04:23:17.683914Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-09-16T04:23:17.683915Z 01O | ^ 2026-09-16T04:23:17.683915Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-09-16T04:23:17.683916Z 01O 1420 | if (nth <= 0) nth = 1; 2026-09-16T04:23:17.683917Z 01O | ^~~ 2026-09-16T04:23:17.683917Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-09-16T04:23:17.683918Z 01O 1420 | if (nth <= 0) nth = 1; 2026-09-16T04:23:17.683919Z 01O | ^ 2026-09-16T04:23:17.683922Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-09-16T04:23:17.683923Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-09-16T04:23:17.683924Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683929Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-09-16T04:23:17.683930Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-09-16T04:23:17.683941Z 01O | ^ 2026-09-16T04:23:17.683948Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-09-16T04:23:17.683949Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-09-16T04:23:17.683951Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683951Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-09-16T04:23:17.683952Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-09-16T04:23:17.683954Z 01O | ^ 2026-09-16T04:23:17.683960Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-09-16T04:23:17.683961Z 01O 1436 | while (*nastr) { 2026-09-16T04:23:17.683962Z 01O | ^ 2026-09-16T04:23:17.683962Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-09-16T04:23:17.683963Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-09-16T04:23:17.683964Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683965Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-09-16T04:23:17.683966Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-09-16T04:23:17.683967Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683968Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-09-16T04:23:17.683968Z 01O 1464 | if (verbose) { 2026-09-16T04:23:17.683969Z 01O | ^~~~~~~ 2026-09-16T04:23:17.683973Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-09-16T04:23:17.683974Z 01O 1464 | if (verbose) { 2026-09-16T04:23:17.683974Z 01O | ^ 2026-09-16T04:23:17.683975Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-09-16T04:23:17.683976Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-09-16T04:23:17.683977Z 01O | ^ 2026-09-16T04:23:17.683981Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-09-16T04:23:17.683982Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-09-16T04:23:17.683983Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.683986Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-09-16T04:23:17.683987Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-09-16T04:23:17.683988Z 01O | ^ 2026-09-16T04:23:17.683991Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-09-16T04:23:17.683993Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-09-16T04:23:17.683994Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684029Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-09-16T04:23:17.684030Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-09-16T04:23:17.684031Z 01O | ^ 2026-09-16T04:23:17.684032Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-09-16T04:23:17.684033Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-09-16T04:23:17.684034Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.684038Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-09-16T04:23:17.684050Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-09-16T04:23:17.684051Z 01O | ^ 2026-09-16T04:23:17.684055Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-09-16T04:23:17.684056Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-09-16T04:23:17.684057Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684062Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-09-16T04:23:17.684063Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-09-16T04:23:17.684064Z 01O | ^ 2026-09-16T04:23:17.684064Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-09-16T04:23:17.684065Z 01O 1515 | if (args.input) { 2026-09-16T04:23:17.684066Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684067Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-09-16T04:23:17.684067Z 01O 1515 | if (args.input) { 2026-09-16T04:23:17.684068Z 01O | ^ 2026-09-16T04:23:17.684072Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-09-16T04:23:17.684073Z 01O 1522 | else if (args.filename) { 2026-09-16T04:23:17.684074Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.684074Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-09-16T04:23:17.684075Z 01O 1522 | else if (args.filename) { 2026-09-16T04:23:17.684076Z 01O | ^ 2026-09-16T04:23:17.684079Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-09-16T04:23:17.684081Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-09-16T04:23:17.684082Z 01O | ^ 2026-09-16T04:23:17.684085Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-09-16T04:23:17.684086Z 01O 18 | #define INTERNAL_STOP(...) do {snprintf(internal_error_buff, sizeof(internal_error_buff), __VA_ARGS__); halt__(0, "%s %s: %s. %s", _("Internal error in"), __func__, internal_error_buff, _("Please report to the data.table issues tracker"));} while (0) 2026-09-16T04:23:17.684088Z 01O | ^ 2026-09-16T04:23:17.684089Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-09-16T04:23:17.684090Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-09-16T04:23:17.684091Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684094Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-09-16T04:23:17.684095Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-09-16T04:23:17.684096Z 01O | ^ 2026-09-16T04:23:17.684096Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-09-16T04:23:17.684097Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-09-16T04:23:17.684098Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.684101Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-09-16T04:23:17.684102Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-09-16T04:23:17.684103Z 01O | ^ 2026-09-16T04:23:17.684106Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-09-16T04:23:17.684107Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-09-16T04:23:17.684107Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684109Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-09-16T04:23:17.684110Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-09-16T04:23:17.684110Z 01O | ^ 2026-09-16T04:23:17.684114Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-09-16T04:23:17.684125Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-09-16T04:23:17.684126Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.684132Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-09-16T04:23:17.684133Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-09-16T04:23:17.684135Z 01O | ^ 2026-09-16T04:23:17.684135Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-09-16T04:23:17.684136Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-09-16T04:23:17.684137Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.684138Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-09-16T04:23:17.684139Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-09-16T04:23:17.684140Z 01O | ^ 2026-09-16T04:23:17.684143Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-09-16T04:23:17.684144Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-09-16T04:23:17.684145Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684148Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-09-16T04:23:17.684149Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-09-16T04:23:17.684150Z 01O | ^ 2026-09-16T04:23:17.684151Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-09-16T04:23:17.684152Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-09-16T04:23:17.684153Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684157Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-09-16T04:23:17.684158Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-09-16T04:23:17.684159Z 01O | ^ 2026-09-16T04:23:17.684162Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-09-16T04:23:17.684163Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-09-16T04:23:17.684164Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684165Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-09-16T04:23:17.684166Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-09-16T04:23:17.684167Z 01O | ^ 2026-09-16T04:23:17.684171Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-09-16T04:23:17.684172Z 01O 1649 | while (ch < sample_end) { 2026-09-16T04:23:17.684173Z 01O | ^ 2026-09-16T04:23:17.684173Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-09-16T04:23:17.684174Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-09-16T04:23:17.684175Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684199Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-09-16T04:23:17.684201Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-09-16T04:23:17.684201Z 01O | ^ 2026-09-16T04:23:17.684202Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-09-16T04:23:17.684203Z 01O 1674 | if (args.filename) { 2026-09-16T04:23:17.684203Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.684204Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-09-16T04:23:17.684205Z 01O 1674 | if (args.filename) { 2026-09-16T04:23:17.684205Z 01O | ^ 2026-09-16T04:23:17.684216Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-09-16T04:23:17.684217Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-09-16T04:23:17.684218Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684219Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-09-16T04:23:17.684220Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-09-16T04:23:17.684221Z 01O | ^ 2026-09-16T04:23:17.684221Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-09-16T04:23:17.684222Z 01O 1752 | if (args.skipString) { 2026-09-16T04:23:17.684223Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684223Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-09-16T04:23:17.684224Z 01O 1752 | if (args.skipString) { 2026-09-16T04:23:17.684225Z 01O | ^ 2026-09-16T04:23:17.684230Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-09-16T04:23:17.684231Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-09-16T04:23:17.684232Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684232Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-09-16T04:23:17.684233Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-09-16T04:23:17.684234Z 01O | ^ 2026-09-16T04:23:17.684238Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-09-16T04:23:17.684239Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-09-16T04:23:17.684241Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684241Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-09-16T04:23:17.684242Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-09-16T04:23:17.684243Z 01O | ^ 2026-09-16T04:23:17.684281Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-09-16T04:23:17.684282Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-09-16T04:23:17.684284Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.684284Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-09-16T04:23:17.684285Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-09-16T04:23:17.684286Z 01O | ^ 2026-09-16T04:23:17.684290Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-09-16T04:23:17.684291Z 01O 1789 | if (verbose) { 2026-09-16T04:23:17.684292Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684293Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-09-16T04:23:17.684293Z 01O 1789 | if (verbose) { 2026-09-16T04:23:17.684294Z 01O | ^ 2026-09-16T04:23:17.684298Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-09-16T04:23:17.684298Z 01O 1807 | int jumpLines = nrowLimit == 0 ? 100 : (int)umin(100, nrowLimit); // how many lines from each jump point to use. If nrows>0 is supplied, nJumps is later set to 1. #4029 2026-09-16T04:23:17.684299Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.684300Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-09-16T04:23:17.684300Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-09-16T04:23:17.684301Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-09-16T04:23:17.684301Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684313Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-09-16T04:23:17.684313Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-09-16T04:23:17.684314Z 01O | ^ 2026-09-16T04:23:17.684316Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-09-16T04:23:17.684316Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-09-16T04:23:17.684317Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684319Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-09-16T04:23:17.684320Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-09-16T04:23:17.684320Z 01O | ^ 2026-09-16T04:23:17.684323Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-09-16T04:23:17.684323Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-09-16T04:23:17.684324Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684324Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-09-16T04:23:17.684325Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-09-16T04:23:17.684325Z 01O | ^ 2026-09-16T04:23:17.684329Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-09-16T04:23:17.684329Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-09-16T04:23:17.684330Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684330Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-09-16T04:23:17.684331Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-09-16T04:23:17.684331Z 01O 1836 | if (args.sep == '\0') { 2026-09-16T04:23:17.684332Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684332Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-09-16T04:23:17.684332Z 01O 1836 | if (args.sep == '\0') { 2026-09-16T04:23:17.684333Z 01O | ^ 2026-09-16T04:23:17.684335Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-09-16T04:23:17.684336Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-09-16T04:23:17.684336Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684337Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-09-16T04:23:17.684337Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-09-16T04:23:17.684338Z 01O | ^ 2026-09-16T04:23:17.684341Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-09-16T04:23:17.684342Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-09-16T04:23:17.684343Z 01O | ^~ 2026-09-16T04:23:17.684343Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.684344Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-09-16T04:23:17.684344Z 01O | ^~~~~~~~~~~~~ ~~ 2026-09-16T04:23:17.684346Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-09-16T04:23:17.684347Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-09-16T04:23:17.684347Z 01O | ^~~~~~~~~~~~~ ~~ 2026-09-16T04:23:17.684350Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.684356Z 01O 2278 | estnrow = 1; 2026-09-16T04:23:17.684356Z 01O | ^ ~ 2026-09-16T04:23:17.684357Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-09-16T04:23:17.684357Z 01O 2278 | estnrow = 1; 2026-09-16T04:23:17.684358Z 01O | ^ ~ 2026-09-16T04:23:17.684360Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.684361Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-09-16T04:23:17.684361Z 01O | ^ ~ 2026-09-16T04:23:17.684363Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-09-16T04:23:17.684363Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-09-16T04:23:17.684364Z 01O | ^ ~ 2026-09-16T04:23:17.684366Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.684366Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-09-16T04:23:17.684367Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684368Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-09-16T04:23:17.684369Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-09-16T04:23:17.684369Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684372Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.684373Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-09-16T04:23:17.684373Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684376Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-09-16T04:23:17.684376Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-09-16T04:23:17.684377Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684377Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.684378Z 01O 2487 | nth = imin(nJumps, nth); 2026-09-16T04:23:17.684378Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684379Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-09-16T04:23:17.684379Z 01O 2487 | nth = imin(nJumps, nth); 2026-09-16T04:23:17.684379Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684384Z 01O /builds/Rdatatable/data.table/src/fread.c:2747:21: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-09-16T04:23:17.684385Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-09-16T04:23:17.684386Z 01O | ^~~~~~ 2026-09-16T04:23:17.684386Z 01O /builds/Rdatatable/data.table/src/fread.c:2747:21: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-09-16T04:23:17.684387Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-09-16T04:23:17.684388Z 01O | ^~~~~~ 2026-09-16T04:23:17.684390Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.684390Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-09-16T04:23:17.684396Z 01O | ^ ~~~ 2026-09-16T04:23:17.684398Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: note: Value stored to 'tLast' is never read 2026-09-16T04:23:17.684399Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-09-16T04:23:17.684400Z 01O | ^ ~~~ 2026-09-16T04:23:17.684425Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: warning: Array access (via field 'buffer') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.684427Z 01O 789 | if (state->buffer[i] == '\n') { 2026-09-16T04:23:17.684427Z 01O | ^ ~~~~~~ 2026-09-16T04:23:17.684427Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-09-16T04:23:17.684428Z 01O 768 | if (state->outfile == NULL) { 2026-09-16T04:23:17.684429Z 01O | ^ 2026-09-16T04:23:17.684430Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-09-16T04:23:17.684430Z 01O 768 | if (state->outfile == NULL) { 2026-09-16T04:23:17.684431Z 01O | ^ 2026-09-16T04:23:17.684431Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-09-16T04:23:17.684432Z 01O 772 | state->buffer = malloc(chunk_size); 2026-09-16T04:23:17.684432Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684435Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-09-16T04:23:17.684436Z 01O 773 | if (!state->buffer) { 2026-09-16T04:23:17.684436Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.684437Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-09-16T04:23:17.684437Z 01O 773 | if (!state->buffer) { 2026-09-16T04:23:17.684437Z 01O | ^ 2026-09-16T04:23:17.684438Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-09-16T04:23:17.684438Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-09-16T04:23:17.684439Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684439Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.684440Z 01O 780 | while (true) { 2026-09-16T04:23:17.684440Z 01O | ^ 2026-09-16T04:23:17.684443Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-09-16T04:23:17.684444Z 01O 782 | if (nread == 0) { 2026-09-16T04:23:17.684444Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684444Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-09-16T04:23:17.684445Z 01O 782 | if (nread == 0) { 2026-09-16T04:23:17.684445Z 01O | ^ 2026-09-16T04:23:17.684445Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-09-16T04:23:17.684446Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-16T04:23:17.684446Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684447Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-09-16T04:23:17.684450Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-09-16T04:23:17.684451Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-16T04:23:17.684451Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684452Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-09-16T04:23:17.684452Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-16T04:23:17.684452Z 01O | ^ 2026-09-16T04:23:17.684454Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-09-16T04:23:17.684470Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-09-16T04:23:17.684470Z 01O | ^ 2026-09-16T04:23:17.684473Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.684473Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-09-16T04:23:17.684474Z 01O | ^ 2026-09-16T04:23:17.684474Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-09-16T04:23:17.684475Z 01O 789 | if (state->buffer[i] == '\n') { 2026-09-16T04:23:17.684475Z 01O | ^ ~~~~~~ 2026-09-16T04:23:17.684478Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-09-16T04:23:17.684479Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-09-16T04:23:17.684479Z 01O | ^ ~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684480Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-09-16T04:23:17.684480Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-09-16T04:23:17.684481Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684483Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-09-16T04:23:17.684484Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-09-16T04:23:17.684484Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684484Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-09-16T04:23:17.684485Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-09-16T04:23:17.684485Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684486Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-09-16T04:23:17.684486Z 01O 768 | if (state->outfile == NULL) { 2026-09-16T04:23:17.684487Z 01O | ^ 2026-09-16T04:23:17.684489Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-09-16T04:23:17.684490Z 01O 768 | if (state->outfile == NULL) { 2026-09-16T04:23:17.684490Z 01O | ^ 2026-09-16T04:23:17.684490Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-09-16T04:23:17.684491Z 01O 773 | if (!state->buffer) { 2026-09-16T04:23:17.684491Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.684492Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-09-16T04:23:17.684492Z 01O 773 | if (!state->buffer) { 2026-09-16T04:23:17.684492Z 01O | ^ 2026-09-16T04:23:17.684570Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-09-16T04:23:17.684572Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-09-16T04:23:17.684573Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684573Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.684574Z 01O 780 | while (true) { 2026-09-16T04:23:17.684574Z 01O | ^ 2026-09-16T04:23:17.684575Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-09-16T04:23:17.684575Z 01O 782 | if (nread == 0) { 2026-09-16T04:23:17.684576Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684576Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-09-16T04:23:17.684576Z 01O 782 | if (nread == 0) { 2026-09-16T04:23:17.684577Z 01O | ^ 2026-09-16T04:23:17.684581Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-09-16T04:23:17.684591Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-16T04:23:17.684591Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684592Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-09-16T04:23:17.684592Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-16T04:23:17.684593Z 01O | ^ 2026-09-16T04:23:17.684595Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-09-16T04:23:17.684596Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-09-16T04:23:17.684596Z 01O | ^ ~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684600Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: The 1st argument to 'fwrite' is NULL but should not be NULL [clang-analyzer-unix.StdCLibraryFunctions] 2026-09-16T04:23:17.684601Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-09-16T04:23:17.684601Z 01O | ^ ~~~~~~~~~~~~~ 2026-09-16T04:23:17.684602Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-09-16T04:23:17.684602Z 01O 768 | if (state->outfile == NULL) { 2026-09-16T04:23:17.684603Z 01O | ^ 2026-09-16T04:23:17.684603Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-09-16T04:23:17.684604Z 01O 768 | if (state->outfile == NULL) { 2026-09-16T04:23:17.684604Z 01O | ^ 2026-09-16T04:23:17.684604Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-09-16T04:23:17.684605Z 01O 772 | state->buffer = malloc(chunk_size); 2026-09-16T04:23:17.684605Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684606Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-09-16T04:23:17.684606Z 01O 773 | if (!state->buffer) { 2026-09-16T04:23:17.684606Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.684608Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-09-16T04:23:17.684609Z 01O 773 | if (!state->buffer) { 2026-09-16T04:23:17.684609Z 01O | ^ 2026-09-16T04:23:17.684612Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-09-16T04:23:17.684612Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-09-16T04:23:17.684613Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.684613Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.684614Z 01O 780 | while (true) { 2026-09-16T04:23:17.684614Z 01O | ^ 2026-09-16T04:23:17.684614Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-09-16T04:23:17.684615Z 01O 782 | if (nread == 0) { 2026-09-16T04:23:17.684615Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684615Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-09-16T04:23:17.684616Z 01O 782 | if (nread == 0) { 2026-09-16T04:23:17.684616Z 01O | ^ 2026-09-16T04:23:17.684619Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-09-16T04:23:17.684620Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-16T04:23:17.684620Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.684620Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-09-16T04:23:17.684621Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-16T04:23:17.684621Z 01O | ^ 2026-09-16T04:23:17.684660Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-09-16T04:23:17.684669Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-09-16T04:23:17.684669Z 01O | ^ ~~~~~~~~~~~~~ 2026-09-16T04:23:17.684675Z 01O /builds/Rdatatable/data.table/src/froll.c:1364:3: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-09-16T04:23:17.684676Z 01O 1364 | next[p] = tail; 2026-09-16T04:23:17.684676Z 01O | ^ 2026-09-16T04:23:17.684676Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.684677Z 01O 1506 | if (verbose) 2026-09-16T04:23:17.684677Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684678Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-09-16T04:23:17.684678Z 01O 1506 | if (verbose) 2026-09-16T04:23:17.684678Z 01O | ^ 2026-09-16T04:23:17.684679Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-09-16T04:23:17.684679Z 01O 1508 | if (k == 0) { 2026-09-16T04:23:17.684680Z 01O | ^~~~~~ 2026-09-16T04:23:17.684680Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-09-16T04:23:17.684680Z 01O 1508 | if (k == 0) { 2026-09-16T04:23:17.684681Z 01O | ^ 2026-09-16T04:23:17.684683Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-09-16T04:23:17.684683Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.684684Z 01O | ^~~~~~ 2026-09-16T04:23:17.684684Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-09-16T04:23:17.684686Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-09-16T04:23:17.684687Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.684688Z 01O | ^~~~~~ 2026-09-16T04:23:17.684690Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-09-16T04:23:17.684690Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.684691Z 01O | ^ 2026-09-16T04:23:17.684691Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-09-16T04:23:17.684692Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.684692Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684695Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-09-16T04:23:17.684695Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.684696Z 01O | ^ 2026-09-16T04:23:17.684696Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-09-16T04:23:17.684696Z 01O 1567 | if (nx_mod_k) { 2026-09-16T04:23:17.684697Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684697Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-09-16T04:23:17.684698Z 01O 1567 | if (nx_mod_k) { 2026-09-16T04:23:17.684698Z 01O | ^ 2026-09-16T04:23:17.684698Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-09-16T04:23:17.684699Z 01O 1574 | bool even = !(k % 2); 2026-09-16T04:23:17.684699Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684702Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-09-16T04:23:17.684702Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-09-16T04:23:17.684702Z 01O | ^~~~ 2026-09-16T04:23:17.684703Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-09-16T04:23:17.684705Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-09-16T04:23:17.684706Z 01O 1579 | if (!o) { // # nocov start 2026-09-16T04:23:17.684719Z 01O | ^~ 2026-09-16T04:23:17.684719Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-09-16T04:23:17.684720Z 01O 1579 | if (!o) { // # nocov start 2026-09-16T04:23:17.684739Z 01O | ^ 2026-09-16T04:23:17.684739Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-09-16T04:23:17.684740Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-16T04:23:17.684741Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684746Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-09-16T04:23:17.684748Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-16T04:23:17.684749Z 01O | ^ 2026-09-16T04:23:17.684749Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-09-16T04:23:17.684750Z 01O 1588 | if (!m) { // # nocov start 2026-09-16T04:23:17.684751Z 01O | ^~ 2026-09-16T04:23:17.684756Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-09-16T04:23:17.684757Z 01O 1588 | if (!m) { // # nocov start 2026-09-16T04:23:17.684758Z 01O | ^ 2026-09-16T04:23:17.684758Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-09-16T04:23:17.684759Z 01O 1594 | if (!n) { // # nocov start 2026-09-16T04:23:17.684760Z 01O | ^~ 2026-09-16T04:23:17.684760Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-09-16T04:23:17.684761Z 01O 1594 | if (!n) { // # nocov start 2026-09-16T04:23:17.684762Z 01O | ^ 2026-09-16T04:23:17.684763Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-09-16T04:23:17.684763Z 01O 1600 | if (!s) { // # nocov start 2026-09-16T04:23:17.684764Z 01O | ^~ 2026-09-16T04:23:17.684765Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-09-16T04:23:17.684766Z 01O 1600 | if (!s) { // # nocov start 2026-09-16T04:23:17.684766Z 01O | ^ 2026-09-16T04:23:17.684769Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-09-16T04:23:17.684770Z 01O 1606 | if (!prev) { // # nocov start 2026-09-16T04:23:17.684771Z 01O | ^~~~~ 2026-09-16T04:23:17.684773Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-09-16T04:23:17.684774Z 01O 1606 | if (!prev) { // # nocov start 2026-09-16T04:23:17.684775Z 01O | ^ 2026-09-16T04:23:17.684779Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-09-16T04:23:17.684780Z 01O 1612 | if (!next) { // # nocov start 2026-09-16T04:23:17.684780Z 01O | ^~~~~ 2026-09-16T04:23:17.684781Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-09-16T04:23:17.684782Z 01O 1612 | if (!next) { // # nocov start 2026-09-16T04:23:17.684783Z 01O | ^ 2026-09-16T04:23:17.684783Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-09-16T04:23:17.684784Z 01O 1618 | if (verbose) 2026-09-16T04:23:17.684785Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684785Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-09-16T04:23:17.684786Z 01O 1618 | if (verbose) 2026-09-16T04:23:17.684787Z 01O | ^ 2026-09-16T04:23:17.684790Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-09-16T04:23:17.684791Z 01O 1621 | for (int j=0; j= 'k' 2026-09-16T04:23:17.684831Z 01O 1358 | for (int i=0; i=0) { 2026-09-16T04:23:17.684868Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684868Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-09-16T04:23:17.684869Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.684869Z 01O | ^ 2026-09-16T04:23:17.684871Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-09-16T04:23:17.684872Z 01O 1567 | if (nx_mod_k) { 2026-09-16T04:23:17.684872Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684873Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-09-16T04:23:17.684873Z 01O 1567 | if (nx_mod_k) { 2026-09-16T04:23:17.684873Z 01O | ^ 2026-09-16T04:23:17.684876Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-09-16T04:23:17.684877Z 01O 1574 | bool even = !(k % 2); 2026-09-16T04:23:17.684877Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684877Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-09-16T04:23:17.684878Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-09-16T04:23:17.684878Z 01O | ^~~~ 2026-09-16T04:23:17.684879Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-09-16T04:23:17.684881Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-09-16T04:23:17.684881Z 01O 1579 | if (!o) { // # nocov start 2026-09-16T04:23:17.684882Z 01O | ^~ 2026-09-16T04:23:17.684882Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-09-16T04:23:17.684882Z 01O 1579 | if (!o) { // # nocov start 2026-09-16T04:23:17.684883Z 01O | ^ 2026-09-16T04:23:17.684885Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-09-16T04:23:17.684885Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-16T04:23:17.684886Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.684888Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-09-16T04:23:17.684889Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-16T04:23:17.684889Z 01O | ^ 2026-09-16T04:23:17.684889Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-09-16T04:23:17.684890Z 01O 1588 | if (!m) { // # nocov start 2026-09-16T04:23:17.684890Z 01O | ^~ 2026-09-16T04:23:17.684891Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-09-16T04:23:17.684891Z 01O 1588 | if (!m) { // # nocov start 2026-09-16T04:23:17.684891Z 01O | ^ 2026-09-16T04:23:17.684893Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-09-16T04:23:17.684894Z 01O 1594 | if (!n) { // # nocov start 2026-09-16T04:23:17.684894Z 01O | ^~ 2026-09-16T04:23:17.684894Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-09-16T04:23:17.684895Z 01O 1594 | if (!n) { // # nocov start 2026-09-16T04:23:17.684895Z 01O | ^ 2026-09-16T04:23:17.684897Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-09-16T04:23:17.684903Z 01O 1600 | if (!s) { // # nocov start 2026-09-16T04:23:17.684903Z 01O | ^~ 2026-09-16T04:23:17.684903Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-09-16T04:23:17.684904Z 01O 1600 | if (!s) { // # nocov start 2026-09-16T04:23:17.684904Z 01O | ^ 2026-09-16T04:23:17.684907Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-09-16T04:23:17.684908Z 01O 1606 | if (!prev) { // # nocov start 2026-09-16T04:23:17.684908Z 01O | ^~~~~ 2026-09-16T04:23:17.684909Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-09-16T04:23:17.684909Z 01O 1606 | if (!prev) { // # nocov start 2026-09-16T04:23:17.684909Z 01O | ^ 2026-09-16T04:23:17.684910Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-09-16T04:23:17.684910Z 01O 1612 | if (!next) { // # nocov start 2026-09-16T04:23:17.684911Z 01O | ^~~~~ 2026-09-16T04:23:17.684911Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-09-16T04:23:17.684911Z 01O 1612 | if (!next) { // # nocov start 2026-09-16T04:23:17.684912Z 01O | ^ 2026-09-16T04:23:17.684912Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-09-16T04:23:17.684913Z 01O 1618 | if (verbose) 2026-09-16T04:23:17.684913Z 01O | ^~~~~~~ 2026-09-16T04:23:17.684914Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-09-16T04:23:17.684915Z 01O 1618 | if (verbose) 2026-09-16T04:23:17.684915Z 01O | ^ 2026-09-16T04:23:17.684917Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-09-16T04:23:17.684918Z 01O 1621 | for (int j=0; j= 'b' 2026-09-16T04:23:17.684959Z 01O 1621 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2026-09-16T04:23:17.685008Z 01O | ^~~ 2026-09-16T04:23:17.685009Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-09-16T04:23:17.685009Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.685010Z 01O 1633 | for (int i=0; i= 'm' 2026-09-16T04:23:17.685100Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-09-16T04:23:17.685101Z 01O | ^~~~~ 2026-09-16T04:23:17.685103Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-09-16T04:23:17.685103Z 01O 1393 | if (SMALL(i)) { 2026-09-16T04:23:17.685104Z 01O | ^ 2026-09-16T04:23:17.685104Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-09-16T04:23:17.685104Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-09-16T04:23:17.685105Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.685107Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-09-16T04:23:17.685107Z 01O 1393 | if (SMALL(i)) { 2026-09-16T04:23:17.685108Z 01O | ^ 2026-09-16T04:23:17.685108Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-09-16T04:23:17.685109Z 01O 1396 | if (m[0] == i) { 2026-09-16T04:23:17.685109Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.685111Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-09-16T04:23:17.685111Z 01O 1396 | if (m[0] == i) { 2026-09-16T04:23:17.685112Z 01O | ^ 2026-09-16T04:23:17.685112Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-09-16T04:23:17.685118Z 01O 1399 | if (s[0] > 0) { 2026-09-16T04:23:17.685118Z 01O | ^ 2026-09-16T04:23:17.685122Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-09-16T04:23:17.685123Z 01O 1400 | m[0] = prev[m[0]]; 2026-09-16T04:23:17.685123Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.685123Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-09-16T04:23:17.685124Z 01O 1471 | m[0] = prev[m[0]]; 2026-09-16T04:23:17.685124Z 01O | ^ 2026-09-16T04:23:17.685125Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.685125Z 01O 1506 | if (verbose) 2026-09-16T04:23:17.685125Z 01O | ^~~~~~~ 2026-09-16T04:23:17.685126Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-09-16T04:23:17.685126Z 01O 1506 | if (verbose) 2026-09-16T04:23:17.685127Z 01O | ^ 2026-09-16T04:23:17.685127Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-09-16T04:23:17.685127Z 01O 1508 | if (k == 0) { 2026-09-16T04:23:17.685128Z 01O | ^~~~~~ 2026-09-16T04:23:17.685128Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-09-16T04:23:17.685129Z 01O 1508 | if (k == 0) { 2026-09-16T04:23:17.685129Z 01O | ^ 2026-09-16T04:23:17.685150Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-09-16T04:23:17.685150Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.685151Z 01O | ^~~~~~ 2026-09-16T04:23:17.685152Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-09-16T04:23:17.685154Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-09-16T04:23:17.685155Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.685156Z 01O | ^~~~~~ 2026-09-16T04:23:17.685159Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-09-16T04:23:17.685159Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.685160Z 01O | ^ 2026-09-16T04:23:17.685160Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-09-16T04:23:17.685161Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.685161Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.685161Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-09-16T04:23:17.685162Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.685162Z 01O | ^ 2026-09-16T04:23:17.685162Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-09-16T04:23:17.685163Z 01O 1567 | if (nx_mod_k) { 2026-09-16T04:23:17.685163Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.685168Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-09-16T04:23:17.685169Z 01O 1567 | if (nx_mod_k) { 2026-09-16T04:23:17.685169Z 01O | ^ 2026-09-16T04:23:17.685169Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-09-16T04:23:17.685170Z 01O 1574 | bool even = !(k % 2); 2026-09-16T04:23:17.685170Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.685170Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-09-16T04:23:17.685171Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-09-16T04:23:17.685171Z 01O | ^~~~ 2026-09-16T04:23:17.685172Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-09-16T04:23:17.685178Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-09-16T04:23:17.685179Z 01O 1579 | if (!o) { // # nocov start 2026-09-16T04:23:17.685179Z 01O | ^~ 2026-09-16T04:23:17.685181Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-09-16T04:23:17.685182Z 01O 1579 | if (!o) { // # nocov start 2026-09-16T04:23:17.685182Z 01O | ^ 2026-09-16T04:23:17.685183Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-09-16T04:23:17.685183Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-16T04:23:17.685184Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.685187Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-09-16T04:23:17.685187Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-16T04:23:17.685188Z 01O | ^ 2026-09-16T04:23:17.685188Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-09-16T04:23:17.685189Z 01O 1588 | if (!m) { // # nocov start 2026-09-16T04:23:17.685189Z 01O | ^~ 2026-09-16T04:23:17.685189Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-09-16T04:23:17.685190Z 01O 1588 | if (!m) { // # nocov start 2026-09-16T04:23:17.685190Z 01O | ^ 2026-09-16T04:23:17.685190Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-09-16T04:23:17.685191Z 01O 1594 | if (!n) { // # nocov start 2026-09-16T04:23:17.685191Z 01O | ^~ 2026-09-16T04:23:17.685191Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-09-16T04:23:17.685192Z 01O 1594 | if (!n) { // # nocov start 2026-09-16T04:23:17.685192Z 01O | ^ 2026-09-16T04:23:17.685195Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-09-16T04:23:17.685195Z 01O 1600 | if (!s) { // # nocov start 2026-09-16T04:23:17.685195Z 01O | ^~ 2026-09-16T04:23:17.685196Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-09-16T04:23:17.685196Z 01O 1600 | if (!s) { // # nocov start 2026-09-16T04:23:17.685197Z 01O | ^ 2026-09-16T04:23:17.685197Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-09-16T04:23:17.685197Z 01O 1606 | if (!prev) { // # nocov start 2026-09-16T04:23:17.685198Z 01O | ^~~~~ 2026-09-16T04:23:17.685201Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-09-16T04:23:17.685201Z 01O 1606 | if (!prev) { // # nocov start 2026-09-16T04:23:17.685201Z 01O | ^ 2026-09-16T04:23:17.685202Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-09-16T04:23:17.685202Z 01O 1612 | if (!next) { // # nocov start 2026-09-16T04:23:17.685203Z 01O | ^~~~~ 2026-09-16T04:23:17.685203Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-09-16T04:23:17.685203Z 01O 1612 | if (!next) { // # nocov start 2026-09-16T04:23:17.685204Z 01O | ^ 2026-09-16T04:23:17.685204Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-09-16T04:23:17.685205Z 01O 1618 | if (verbose) 2026-09-16T04:23:17.685205Z 01O | ^~~~~~~ 2026-09-16T04:23:17.685205Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-09-16T04:23:17.685206Z 01O 1618 | if (verbose) 2026-09-16T04:23:17.685206Z 01O | ^ 2026-09-16T04:23:17.685208Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-09-16T04:23:17.685209Z 01O 1621 | for (int j=0; j= 'b' 2026-09-16T04:23:17.685250Z 01O 1621 | for (int j=0; j= 'm' 2026-09-16T04:23:17.685502Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-09-16T04:23:17.685502Z 01O | ^~~~~ 2026-09-16T04:23:17.685503Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-09-16T04:23:17.685513Z 01O 1460 | if (SMALL(i)) { 2026-09-16T04:23:17.685514Z 01O | ^ 2026-09-16T04:23:17.685516Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-09-16T04:23:17.685517Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-09-16T04:23:17.685517Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.685517Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-09-16T04:23:17.685518Z 01O 1460 | if (SMALL(i)) { 2026-09-16T04:23:17.685518Z 01O | ^ 2026-09-16T04:23:17.685541Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-09-16T04:23:17.685542Z 01O 1463 | if (m[0] == i) { 2026-09-16T04:23:17.685543Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.685543Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-09-16T04:23:17.685544Z 01O 1463 | if (m[0] == i) { 2026-09-16T04:23:17.685544Z 01O | ^ 2026-09-16T04:23:17.685544Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-09-16T04:23:17.685545Z 01O 1467 | } else if (even && n[0] == i) { 2026-09-16T04:23:17.685546Z 01O | ^~~~ 2026-09-16T04:23:17.685546Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-09-16T04:23:17.685547Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-09-16T04:23:17.685548Z 01O 1467 | } else if (even && n[0] == i) { 2026-09-16T04:23:17.685548Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.685549Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-09-16T04:23:17.685549Z 01O 1467 | } else if (even && n[0] == i) { 2026-09-16T04:23:17.685550Z 01O | ^ 2026-09-16T04:23:17.685550Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-09-16T04:23:17.685550Z 01O 1470 | if (s[0] > 0) { 2026-09-16T04:23:17.685551Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.685551Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-09-16T04:23:17.685552Z 01O 1470 | if (s[0] > 0) { 2026-09-16T04:23:17.685552Z 01O | ^ 2026-09-16T04:23:17.685552Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-09-16T04:23:17.685553Z 01O 1471 | m[0] = prev[m[0]]; 2026-09-16T04:23:17.685553Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.685557Z 01O /builds/Rdatatable/data.table/src/froll.c:1578:12: warning: Call to 'malloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-09-16T04:23:17.685558Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-09-16T04:23:17.685558Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.685558Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.685559Z 01O 1506 | if (verbose) 2026-09-16T04:23:17.685559Z 01O | ^~~~~~~ 2026-09-16T04:23:17.685560Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-09-16T04:23:17.685560Z 01O 1506 | if (verbose) 2026-09-16T04:23:17.685560Z 01O | ^ 2026-09-16T04:23:17.685561Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-09-16T04:23:17.685561Z 01O 1508 | if (k == 0) { 2026-09-16T04:23:17.685562Z 01O | ^~~~~~ 2026-09-16T04:23:17.685562Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-09-16T04:23:17.685562Z 01O 1508 | if (k == 0) { 2026-09-16T04:23:17.685563Z 01O | ^ 2026-09-16T04:23:17.685580Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-09-16T04:23:17.685581Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.685589Z 01O | ^~~~~~ 2026-09-16T04:23:17.685590Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-09-16T04:23:17.685593Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-09-16T04:23:17.685594Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.685594Z 01O | ^~~~~~ 2026-09-16T04:23:17.685598Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-09-16T04:23:17.685598Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-09-16T04:23:17.685599Z 01O | ^ 2026-09-16T04:23:17.685599Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-09-16T04:23:17.685600Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.685600Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.685601Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-09-16T04:23:17.685601Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.685601Z 01O | ^ 2026-09-16T04:23:17.685602Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-09-16T04:23:17.685602Z 01O 1549 | for (uint64_t i=0; i= 0 2026-09-16T04:23:17.685683Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.685683Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.685683Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-09-16T04:23:17.685684Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.685684Z 01O | ^ 2026-09-16T04:23:17.685702Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-09-16T04:23:17.685703Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-09-16T04:23:17.685779Z 01O 1549 | for (uint64_t i=0; i= 0 2026-09-16T04:23:17.686058Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.686058Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.686059Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-09-16T04:23:17.686059Z 01O 1548 | if (hasnf>=0) { 2026-09-16T04:23:17.686060Z 01O | ^ 2026-09-16T04:23:17.686062Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-09-16T04:23:17.686062Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-09-16T04:23:17.686101Z 01O 1549 | for (uint64_t i=0; i 0 2026-09-16T04:23:17.686484Z 01O 541 | bool truehasnf = hasnf>0; 2026-09-16T04:23:17.686484Z 01O | ^~~~~~~ 2026-09-16T04:23:17.686506Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-09-16T04:23:17.686507Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-09-16T04:23:17.686519Z 01O 542 | for (uint64_t i=0; i 0 2026-09-16T04:23:17.686622Z 01O 616 | bool truehasnf = hasnf>0; 2026-09-16T04:23:17.686622Z 01O | ^~~~~~~ 2026-09-16T04:23:17.686622Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-09-16T04:23:17.686623Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-09-16T04:23:17.686658Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-09-16T04:23:17.686814Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-09-16T04:23:17.686929Z 01O | ^ 2026-09-16T04:23:17.686929Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-09-16T04:23:17.686930Z 01O 888 | if (i+1 == ik) { 2026-09-16T04:23:17.686930Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.686932Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-09-16T04:23:17.686933Z 01O 888 | if (i+1 == ik) { 2026-09-16T04:23:17.686933Z 01O | ^ 2026-09-16T04:23:17.686935Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-09-16T04:23:17.686936Z 01O 890 | } else if (i+1 < ik) { 2026-09-16T04:23:17.686936Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.686936Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-09-16T04:23:17.686937Z 01O 890 | } else if (i+1 < ik) { 2026-09-16T04:23:17.686937Z 01O | ^ 2026-09-16T04:23:17.686956Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:893:25: note: Assuming index is non-negative and less than 1, the number of 'int' elements in the heap area 2026-09-16T04:23:17.686958Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-09-16T04:23:17.686958Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.686959Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-09-16T04:23:17.686959Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-09-16T04:23:17.686960Z 01O | ^ 2026-09-16T04:23:17.686963Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-09-16T04:23:17.686964Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-09-16T04:23:17.686964Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.686964Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-09-16T04:23:17.686965Z 01O 998 | if (!nc) { // total NA for x 2026-09-16T04:23:17.686965Z 01O | ^~ 2026-09-16T04:23:17.686966Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-09-16T04:23:17.686966Z 01O 998 | if (!nc) { // total NA for x 2026-09-16T04:23:17.686966Z 01O | ^ 2026-09-16T04:23:17.686967Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.686974Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-09-16T04:23:17.687228Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-09-16T04:23:17.687320Z 01O | ^~~~~~~ 2026-09-16T04:23:17.687321Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-09-16T04:23:17.687321Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-09-16T04:23:17.687322Z 01O | ^ 2026-09-16T04:23:17.687324Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-09-16T04:23:17.687325Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-09-16T04:23:17.687325Z 01O | ^ 2026-09-16T04:23:17.687327Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-09-16T04:23:17.687328Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-16T04:23:17.687328Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.687329Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-09-16T04:23:17.687338Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-09-16T04:23:17.687339Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-16T04:23:17.687339Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.687340Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-09-16T04:23:17.687340Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-16T04:23:17.687340Z 01O | ^ 2026-09-16T04:23:17.687342Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-09-16T04:23:17.687343Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-16T04:23:17.687343Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.687363Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-09-16T04:23:17.687364Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-16T04:23:17.687365Z 01O | ^ 2026-09-16T04:23:17.687365Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-09-16T04:23:17.687366Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-09-16T04:23:17.687436Z 01O | ^~~~~~~ 2026-09-16T04:23:17.687439Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-09-16T04:23:17.687440Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-09-16T04:23:17.687440Z 01O | ^ 2026-09-16T04:23:17.687441Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-09-16T04:23:17.687441Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-09-16T04:23:17.687442Z 01O | ^ 2026-09-16T04:23:17.687465Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-09-16T04:23:17.687467Z 01O 122 | if (!counts || !TMP ) { 2026-09-16T04:23:17.687476Z 01O | ^~~~~~~ 2026-09-16T04:23:17.687476Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-09-16T04:23:17.687477Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-09-16T04:23:17.687477Z 01O 122 | if (!counts || !TMP ) { 2026-09-16T04:23:17.687478Z 01O | ^~~~ 2026-09-16T04:23:17.687478Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-09-16T04:23:17.687479Z 01O 122 | if (!counts || !TMP ) { 2026-09-16T04:23:17.687479Z 01O | ^ 2026-09-16T04:23:17.687482Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-09-16T04:23:17.687483Z 01O 127 | for (int b=0; b= 'howMany' 2026-09-16T04:23:17.687517Z 01O 131 | for (int i=0; i= 'highSize' 2026-09-16T04:23:17.687525Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-09-16T04:23:17.687679Z 01O | ^ 2026-09-16T04:23:17.687680Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-09-16T04:23:17.687680Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-09-16T04:23:17.687680Z 01O | ^ ~ 2026-09-16T04:23:17.687681Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-09-16T04:23:17.687681Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-09-16T04:23:17.687682Z 01O | ^ ~ 2026-09-16T04:23:17.687686Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-16T04:23:17.687687Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687687Z 01O | ^ 2026-09-16T04:23:17.687687Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687688Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687689Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.687692Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-09-16T04:23:17.687692Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687693Z 01O | ^ 2026-09-16T04:23:17.687693Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687693Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687694Z 01O | ^ 2026-09-16T04:23:17.687779Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-16T04:23:17.687780Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687780Z 01O | ^ 2026-09-16T04:23:17.687780Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687781Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687782Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.687785Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-09-16T04:23:17.687786Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687786Z 01O | ^ 2026-09-16T04:23:17.687787Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687787Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687788Z 01O | ^ 2026-09-16T04:23:17.687813Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-16T04:23:17.687815Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687828Z 01O | ^ 2026-09-16T04:23:17.687829Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687830Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687830Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.687831Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-09-16T04:23:17.687831Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687832Z 01O | ^ 2026-09-16T04:23:17.687832Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-09-16T04:23:17.687833Z 01O 1120 | if (!isVectorAtomic(x)) 2026-09-16T04:23:17.687833Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.687833Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-09-16T04:23:17.687834Z 01O 1120 | if (!isVectorAtomic(x)) 2026-09-16T04:23:17.687834Z 01O | ^ 2026-09-16T04:23:17.687837Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-09-16T04:23:17.687838Z 01O 1122 | if (inherits(x, "factor")) 2026-09-16T04:23:17.687838Z 01O | ^ 2026-09-16T04:23:17.687838Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-09-16T04:23:17.687839Z 01O 933 | #define inherits Rf_inherits 2026-09-16T04:23:17.687839Z 01O | ^ 2026-09-16T04:23:17.687842Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-09-16T04:23:17.687842Z 01O 1122 | if (inherits(x, "factor")) 2026-09-16T04:23:17.687842Z 01O | ^ 2026-09-16T04:23:17.687843Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-09-16T04:23:17.687843Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-09-16T04:23:17.687844Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.687847Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-09-16T04:23:17.687848Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-09-16T04:23:17.687848Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.687849Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-09-16T04:23:17.687849Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-09-16T04:23:17.687849Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-09-16T04:23:17.687850Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.687854Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-09-16T04:23:17.687855Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-09-16T04:23:17.687855Z 01O | ^ 2026-09-16T04:23:17.687856Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-09-16T04:23:17.687856Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-09-16T04:23:17.687856Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.687857Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-09-16T04:23:17.687857Z 01O 1129 | if (!s) 2026-09-16T04:23:17.687858Z 01O | ^~ 2026-09-16T04:23:17.687858Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-09-16T04:23:17.687858Z 01O 1129 | if (!s) 2026-09-16T04:23:17.687859Z 01O | ^ 2026-09-16T04:23:17.687862Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-09-16T04:23:17.687863Z 01O 1131 | for (int i=0; i= 'n' 2026-09-16T04:23:17.687873Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-09-16T04:23:17.687915Z 01O | ^ 2026-09-16T04:23:17.687915Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-09-16T04:23:17.687916Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-09-16T04:23:17.687916Z 01O | ^ ~ 2026-09-16T04:23:17.687918Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-09-16T04:23:17.687918Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-09-16T04:23:17.687919Z 01O | ^ ~ 2026-09-16T04:23:17.687922Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-09-16T04:23:17.687923Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-09-16T04:23:17.687924Z 01O | ~~~~ ^ 2026-09-16T04:23:17.687924Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-16T04:23:17.687924Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687925Z 01O | ^ 2026-09-16T04:23:17.687929Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687930Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687937Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.687937Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-09-16T04:23:17.687938Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687938Z 01O | ^ 2026-09-16T04:23:17.687941Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687942Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687942Z 01O | ^ 2026-09-16T04:23:17.687943Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-16T04:23:17.687943Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687944Z 01O | ^ 2026-09-16T04:23:17.687948Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687948Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687949Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.687949Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-09-16T04:23:17.687950Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687950Z 01O | ^ 2026-09-16T04:23:17.687975Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687977Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687978Z 01O | ^ 2026-09-16T04:23:17.687978Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-16T04:23:17.687979Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687980Z 01O | ^ 2026-09-16T04:23:17.687985Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.687986Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.687987Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.687988Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-09-16T04:23:17.687989Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-16T04:23:17.687989Z 01O | ^ 2026-09-16T04:23:17.688029Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-09-16T04:23:17.688030Z 01O 1120 | if (!isVectorAtomic(x)) 2026-09-16T04:23:17.688037Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688037Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-09-16T04:23:17.688038Z 01O 1120 | if (!isVectorAtomic(x)) 2026-09-16T04:23:17.688038Z 01O | ^ 2026-09-16T04:23:17.688041Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-09-16T04:23:17.688041Z 01O 1122 | if (inherits(x, "factor")) 2026-09-16T04:23:17.688042Z 01O | ^ 2026-09-16T04:23:17.688044Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-09-16T04:23:17.688044Z 01O 933 | #define inherits Rf_inherits 2026-09-16T04:23:17.688045Z 01O | ^ 2026-09-16T04:23:17.688045Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-09-16T04:23:17.688046Z 01O 1122 | if (inherits(x, "factor")) 2026-09-16T04:23:17.688046Z 01O | ^ 2026-09-16T04:23:17.688048Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-09-16T04:23:17.688048Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-09-16T04:23:17.688059Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.688063Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-09-16T04:23:17.688063Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-09-16T04:23:17.688064Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.688064Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-09-16T04:23:17.688065Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-09-16T04:23:17.688065Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-09-16T04:23:17.688066Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.688072Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-09-16T04:23:17.688074Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-09-16T04:23:17.688075Z 01O | ^ 2026-09-16T04:23:17.688075Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-09-16T04:23:17.688076Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-09-16T04:23:17.688077Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688078Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-09-16T04:23:17.688078Z 01O 1129 | if (!s) 2026-09-16T04:23:17.688079Z 01O | ^~ 2026-09-16T04:23:17.688080Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-09-16T04:23:17.688080Z 01O 1129 | if (!s) 2026-09-16T04:23:17.688081Z 01O | ^ 2026-09-16T04:23:17.688113Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-09-16T04:23:17.688114Z 01O 1131 | for (int i=0; i= 'n' 2026-09-16T04:23:17.688130Z 01O 1135 | for (int i=0; i' is a garbage value 2026-09-16T04:23:17.688158Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-09-16T04:23:17.688158Z 01O | ~~~~ ^ 2026-09-16T04:23:17.688162Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: warning: Right shift by '64' overflows the capacity of 'size_t' [clang-analyzer-core.BitwiseShift] 2026-09-16T04:23:17.688162Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-09-16T04:23:17.688163Z 01O | ^ 2026-09-16T04:23:17.688163Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-09-16T04:23:17.688164Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-09-16T04:23:17.688165Z 01O | ^ 2026-09-16T04:23:17.688168Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-09-16T04:23:17.688169Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-09-16T04:23:17.688170Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.688171Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-09-16T04:23:17.688172Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-09-16T04:23:17.688172Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688203Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-09-16T04:23:17.688204Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-09-16T04:23:17.688205Z 01O | ^ 2026-09-16T04:23:17.688209Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-09-16T04:23:17.688210Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-09-16T04:23:17.688211Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688212Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-09-16T04:23:17.688213Z 01O 54 | if (!ret) 2026-09-16T04:23:17.688213Z 01O | ^~~~ 2026-09-16T04:23:17.688216Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-09-16T04:23:17.688217Z 01O 54 | if (!ret) 2026-09-16T04:23:17.688217Z 01O | ^ 2026-09-16T04:23:17.688221Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-09-16T04:23:17.688222Z 01O 59 | if (!table) { 2026-09-16T04:23:17.688222Z 01O | ^~~~~~ 2026-09-16T04:23:17.688223Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-09-16T04:23:17.688224Z 01O 59 | if (!table) { 2026-09-16T04:23:17.688224Z 01O | ^ 2026-09-16T04:23:17.688228Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-09-16T04:23:17.688229Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-09-16T04:23:17.688230Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688230Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-09-16T04:23:17.688231Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-09-16T04:23:17.688232Z 01O | ^ 2026-09-16T04:23:17.688236Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-09-16T04:23:17.688237Z 01O 71 | ret->shift = HASH_BITS - k; 2026-09-16T04:23:17.688237Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688238Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-09-16T04:23:17.688249Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-09-16T04:23:17.688250Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688255Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-09-16T04:23:17.688256Z 01O 133 | if (!new_h) return NULL; 2026-09-16T04:23:17.688257Z 01O | ^~~~~ 2026-09-16T04:23:17.688258Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-09-16T04:23:17.688258Z 01O 133 | if (!new_h) return NULL; 2026-09-16T04:23:17.688259Z 01O | ^ 2026-09-16T04:23:17.688260Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-09-16T04:23:17.688261Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-09-16T04:23:17.688261Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.688265Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.688267Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-09-16T04:23:17.688267Z 01O | ^ 2026-09-16T04:23:17.688268Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-09-16T04:23:17.688269Z 01O 138 | if (h->table[i].key) 2026-09-16T04:23:17.688269Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688270Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-09-16T04:23:17.688271Z 01O 138 | if (h->table[i].key) 2026-09-16T04:23:17.688271Z 01O | ^ 2026-09-16T04:23:17.688303Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-09-16T04:23:17.688304Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-09-16T04:23:17.688305Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688306Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-09-16T04:23:17.688307Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-09-16T04:23:17.688308Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.688309Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-09-16T04:23:17.688310Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-09-16T04:23:17.688310Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688316Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-09-16T04:23:17.688317Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-09-16T04:23:17.688318Z 01O | ^ 2026-09-16T04:23:17.688319Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-09-16T04:23:17.688320Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-09-16T04:23:17.688321Z 01O | ^ 2026-09-16T04:23:17.688324Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: note: The result of right shift is undefined because the right operand '64' is not smaller than 64, the capacity of 'size_t' 2026-09-16T04:23:17.688326Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-09-16T04:23:17.688327Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-09-16T04:23:17.688333Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.688334Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-09-16T04:23:17.688335Z 01O | ^ 2026-09-16T04:23:17.688336Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2026-09-16T04:23:17.688355Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.688356Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-09-16T04:23:17.688357Z 01O | ^ 2026-09-16T04:23:17.688357Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2026-09-16T04:23:17.688358Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.688358Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-09-16T04:23:17.688359Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688359Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-09-16T04:23:17.688360Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-09-16T04:23:17.688360Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688383Z 01O /builds/Rdatatable/data.table/src/nafill.c:11:19: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.688384Z 01O 11 | if (ISNAN(x[i])) { 2026-09-16T04:23:17.688384Z 01O | ^ 2026-09-16T04:23:17.688384Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.688385Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.688385Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.688386Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.688386Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.688386Z 01O | ^ 2026-09-16T04:23:17.688389Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.688389Z 01O 187 | if (verbose) 2026-09-16T04:23:17.688390Z 01O | ^~~~~~~ 2026-09-16T04:23:17.688390Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.688390Z 01O 187 | if (verbose) 2026-09-16T04:23:17.688391Z 01O | ^ 2026-09-16T04:23:17.688395Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.688396Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.688397Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688397Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.688401Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.688402Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.688402Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688405Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.688406Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.688406Z 01O | ^ 2026-09-16T04:23:17.688407Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.688407Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.688416Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688436Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.688437Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688438Z 01O | ^ 2026-09-16T04:23:17.688438Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688439Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688439Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688442Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.688443Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688443Z 01O | ^ 2026-09-16T04:23:17.688444Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688444Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688445Z 01O | ^ 2026-09-16T04:23:17.688447Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.688447Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688448Z 01O | ^ 2026-09-16T04:23:17.688469Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688470Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688471Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.688471Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.688472Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688472Z 01O | ^ 2026-09-16T04:23:17.688475Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688476Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688476Z 01O | ^ 2026-09-16T04:23:17.688477Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.688477Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688477Z 01O | ^ 2026-09-16T04:23:17.688480Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688481Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688481Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688482Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.688482Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688483Z 01O | ^ 2026-09-16T04:23:17.688500Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.688501Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.688501Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.688502Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.688502Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.688503Z 01O | ^ 2026-09-16T04:23:17.688503Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.688503Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.688552Z 01O 229 | for (R_len_t i=0; i= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.688841Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688842Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.688846Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.688846Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.688847Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688871Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.688872Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.688872Z 01O | ^ 2026-09-16T04:23:17.688873Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.688874Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.688875Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688875Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.688876Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688876Z 01O | ^ 2026-09-16T04:23:17.688881Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688881Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688882Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688882Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.688883Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688883Z 01O | ^ 2026-09-16T04:23:17.688886Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688886Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688887Z 01O | ^ 2026-09-16T04:23:17.688887Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.688888Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688888Z 01O | ^ 2026-09-16T04:23:17.688892Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688893Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688893Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.688901Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.688902Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688902Z 01O | ^ 2026-09-16T04:23:17.688905Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688906Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688906Z 01O | ^ 2026-09-16T04:23:17.688907Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.688907Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688908Z 01O | ^ 2026-09-16T04:23:17.688910Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.688911Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.688911Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.688912Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.688912Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.688913Z 01O | ^ 2026-09-16T04:23:17.688915Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.688916Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.688916Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.688916Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.688917Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.688917Z 01O | ^ 2026-09-16T04:23:17.688919Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.688920Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.688971Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-09-16T04:23:17.689114Z 01O | ^ 2026-09-16T04:23:17.689114Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.689115Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.689116Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.689119Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.689119Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.689120Z 01O | ^ 2026-09-16T04:23:17.689120Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.689121Z 01O 187 | if (verbose) 2026-09-16T04:23:17.689121Z 01O | ^~~~~~~ 2026-09-16T04:23:17.689121Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.689122Z 01O 187 | if (verbose) 2026-09-16T04:23:17.689122Z 01O | ^ 2026-09-16T04:23:17.689143Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.689143Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.689144Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689145Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.689163Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.689164Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.689165Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689166Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.689167Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.689174Z 01O | ^ 2026-09-16T04:23:17.689199Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.689201Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.689201Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689202Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.689202Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689203Z 01O | ^ 2026-09-16T04:23:17.689207Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689208Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689208Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689209Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.689209Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689210Z 01O | ^ 2026-09-16T04:23:17.689231Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689231Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689232Z 01O | ^ 2026-09-16T04:23:17.689232Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.689233Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689233Z 01O | ^ 2026-09-16T04:23:17.689237Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689238Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689238Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.689239Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.689239Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689239Z 01O | ^ 2026-09-16T04:23:17.689256Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689257Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689258Z 01O | ^ 2026-09-16T04:23:17.689258Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.689259Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689259Z 01O | ^ 2026-09-16T04:23:17.689263Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689263Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689264Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689264Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.689265Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689265Z 01O | ^ 2026-09-16T04:23:17.689266Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.689266Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.689266Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.689269Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.689269Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.689270Z 01O | ^ 2026-09-16T04:23:17.689278Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.689279Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.689399Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-09-16T04:23:17.689576Z 01O | ^ 2026-09-16T04:23:17.689596Z 01O /builds/Rdatatable/data.table/src/nafill.c:35:16: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.689598Z 01O 35 | if (ISNA(x[0]) && limit>0) { ans->dbl_v[0] = fill; fills = 1; } 2026-09-16T04:23:17.689598Z 01O | ^ 2026-09-16T04:23:17.689598Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.689599Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.689599Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.689600Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.689600Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.689600Z 01O | ^ 2026-09-16T04:23:17.689601Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.689602Z 01O 187 | if (verbose) 2026-09-16T04:23:17.689602Z 01O | ^~~~~~~ 2026-09-16T04:23:17.689603Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.689603Z 01O 187 | if (verbose) 2026-09-16T04:23:17.689604Z 01O | ^ 2026-09-16T04:23:17.689609Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.689609Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.689610Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689610Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.689611Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.689611Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.689612Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689615Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.689615Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.689616Z 01O | ^ 2026-09-16T04:23:17.689616Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.689617Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.689617Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689619Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.689620Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689620Z 01O | ^ 2026-09-16T04:23:17.689625Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689625Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689626Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689626Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.689627Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689627Z 01O | ^ 2026-09-16T04:23:17.689645Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689653Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689654Z 01O | ^ 2026-09-16T04:23:17.689654Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.689655Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689655Z 01O | ^ 2026-09-16T04:23:17.689659Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689660Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689660Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.689661Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.689661Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689662Z 01O | ^ 2026-09-16T04:23:17.689662Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689662Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689663Z 01O | ^ 2026-09-16T04:23:17.689683Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.689683Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689684Z 01O | ^ 2026-09-16T04:23:17.689688Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.689689Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.689690Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689690Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.689691Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.689691Z 01O | ^ 2026-09-16T04:23:17.689691Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.689692Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.689692Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.689693Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.689693Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.689693Z 01O | ^ 2026-09-16T04:23:17.689745Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.689747Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.689793Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-09-16T04:23:17.689975Z 01O | ^ 2026-09-16T04:23:17.689978Z 01O /builds/Rdatatable/data.table/src/nafill.c:46:17: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.689979Z 01O 46 | if (ISNAN(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-09-16T04:23:17.689979Z 01O | ^ 2026-09-16T04:23:17.689979Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.689980Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.689980Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.689986Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.689987Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.689987Z 01O | ^ 2026-09-16T04:23:17.689987Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.689988Z 01O 187 | if (verbose) 2026-09-16T04:23:17.689994Z 01O | ^~~~~~~ 2026-09-16T04:23:17.689995Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.689995Z 01O 187 | if (verbose) 2026-09-16T04:23:17.689996Z 01O | ^ 2026-09-16T04:23:17.689996Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.689997Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.689997Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.689998Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.690017Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.690019Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.690020Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690021Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.690021Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.690022Z 01O | ^ 2026-09-16T04:23:17.690023Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.690023Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.690023Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690029Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690029Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690030Z 01O | ^ 2026-09-16T04:23:17.690030Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690031Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690031Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690031Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.690032Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690032Z 01O | ^ 2026-09-16T04:23:17.690051Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690051Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690052Z 01O | ^ 2026-09-16T04:23:17.690052Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690053Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690053Z 01O | ^ 2026-09-16T04:23:17.690057Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690058Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690058Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.690059Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.690059Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690059Z 01O | ^ 2026-09-16T04:23:17.690060Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690060Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690068Z 01O | ^ 2026-09-16T04:23:17.690088Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690089Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690089Z 01O | ^ 2026-09-16T04:23:17.690089Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690090Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690091Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690093Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.690094Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690094Z 01O | ^ 2026-09-16T04:23:17.690095Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.690095Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.690095Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.690158Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.690159Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.690160Z 01O | ^ 2026-09-16T04:23:17.690160Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.690161Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.690232Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-09-16T04:23:17.690476Z 01O | ^ 2026-09-16T04:23:17.690509Z 01O /builds/Rdatatable/data.table/src/nafill.c:55:16: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.690511Z 01O 55 | if (ISNA(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-09-16T04:23:17.690512Z 01O | ^ 2026-09-16T04:23:17.690513Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.690514Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.690515Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.690515Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.690516Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.690517Z 01O | ^ 2026-09-16T04:23:17.690522Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.690524Z 01O 187 | if (verbose) 2026-09-16T04:23:17.690524Z 01O | ^~~~~~~ 2026-09-16T04:23:17.690525Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.690526Z 01O 187 | if (verbose) 2026-09-16T04:23:17.690526Z 01O | ^ 2026-09-16T04:23:17.690533Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.690545Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.690546Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690547Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.690548Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.690549Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.690550Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690551Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.690552Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.690553Z 01O | ^ 2026-09-16T04:23:17.690554Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.690555Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.690555Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690559Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690560Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690561Z 01O | ^ 2026-09-16T04:23:17.690567Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690568Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690569Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690569Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.690570Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690571Z 01O | ^ 2026-09-16T04:23:17.690606Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690607Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690608Z 01O | ^ 2026-09-16T04:23:17.690609Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690610Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690611Z 01O | ^ 2026-09-16T04:23:17.690617Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690618Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690619Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.690620Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.690620Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690621Z 01O | ^ 2026-09-16T04:23:17.690625Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690626Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690627Z 01O | ^ 2026-09-16T04:23:17.690628Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690628Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690629Z 01O | ^ 2026-09-16T04:23:17.690644Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690646Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690647Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690647Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.690648Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690649Z 01O | ^ 2026-09-16T04:23:17.690649Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.690650Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.690651Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.690654Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.690655Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.690656Z 01O | ^ 2026-09-16T04:23:17.690657Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.690657Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.690756Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-09-16T04:23:17.690900Z 01O | ^ 2026-09-16T04:23:17.690900Z 01O /builds/Rdatatable/data.table/src/nafill.c:109:11: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.690901Z 01O 109 | if (x[i]==NA_INTEGER64) { 2026-09-16T04:23:17.690902Z 01O | ^ 2026-09-16T04:23:17.690904Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.690905Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.690905Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.690905Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.690906Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.690906Z 01O | ^ 2026-09-16T04:23:17.690928Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.690929Z 01O 187 | if (verbose) 2026-09-16T04:23:17.690930Z 01O | ^~~~~~~ 2026-09-16T04:23:17.690931Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.690931Z 01O 187 | if (verbose) 2026-09-16T04:23:17.690932Z 01O | ^ 2026-09-16T04:23:17.690937Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.690937Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.690938Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690938Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.690950Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.690950Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.690951Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690954Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.690954Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.690955Z 01O | ^ 2026-09-16T04:23:17.690955Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.690956Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.690956Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690958Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690959Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690959Z 01O | ^ 2026-09-16T04:23:17.690963Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690964Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690964Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.690965Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.690965Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690966Z 01O | ^ 2026-09-16T04:23:17.690966Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690967Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690967Z 01O | ^ 2026-09-16T04:23:17.690969Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690970Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690970Z 01O | ^ 2026-09-16T04:23:17.690974Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690974Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690975Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.690975Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.690976Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.690976Z 01O | ^ 2026-09-16T04:23:17.690996Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.690998Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.690999Z 01O | ^ 2026-09-16T04:23:17.690999Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.690999Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691000Z 01O | ^ 2026-09-16T04:23:17.691003Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691004Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691004Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691011Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.691012Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691012Z 01O | ^ 2026-09-16T04:23:17.691013Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.691013Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.691013Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.691015Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.691016Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.691016Z 01O | ^ 2026-09-16T04:23:17.691037Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.691038Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.691058Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-09-16T04:23:17.691229Z 01O | ^ 2026-09-16T04:23:17.691229Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.691230Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.691230Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.691230Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.691231Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.691231Z 01O | ^ 2026-09-16T04:23:17.691233Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.691234Z 01O 187 | if (verbose) 2026-09-16T04:23:17.691234Z 01O | ^~~~~~~ 2026-09-16T04:23:17.691235Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.691235Z 01O 187 | if (verbose) 2026-09-16T04:23:17.691235Z 01O | ^ 2026-09-16T04:23:17.691240Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.691241Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.691241Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691242Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.691261Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.691261Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.691263Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691263Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.691264Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.691264Z 01O | ^ 2026-09-16T04:23:17.691267Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.691267Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.691268Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691270Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.691270Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691270Z 01O | ^ 2026-09-16T04:23:17.691325Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691326Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691327Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691328Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.691328Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691328Z 01O | ^ 2026-09-16T04:23:17.691332Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691332Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691333Z 01O | ^ 2026-09-16T04:23:17.691343Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.691343Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691344Z 01O | ^ 2026-09-16T04:23:17.691369Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691370Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691370Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.691371Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.691371Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691372Z 01O | ^ 2026-09-16T04:23:17.691375Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691375Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691376Z 01O | ^ 2026-09-16T04:23:17.691376Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.691377Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691377Z 01O | ^ 2026-09-16T04:23:17.691381Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691381Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691382Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691382Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.691383Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691383Z 01O | ^ 2026-09-16T04:23:17.691383Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.691384Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.691384Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.691385Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.691385Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.691385Z 01O | ^ 2026-09-16T04:23:17.691388Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.691388Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.691455Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-09-16T04:23:17.691668Z 01O | ^ 2026-09-16T04:23:17.691671Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:9: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.691672Z 01O 124 | if (x[nx-1]==NA_INTEGER64 && limit>0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-09-16T04:23:17.691673Z 01O | ^ 2026-09-16T04:23:17.691673Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.691674Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.691674Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.691674Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.691675Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.691675Z 01O | ^ 2026-09-16T04:23:17.691680Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.691681Z 01O 187 | if (verbose) 2026-09-16T04:23:17.691681Z 01O | ^~~~~~~ 2026-09-16T04:23:17.691681Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.691682Z 01O 187 | if (verbose) 2026-09-16T04:23:17.691682Z 01O | ^ 2026-09-16T04:23:17.691687Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.691687Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.691688Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691697Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.691701Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.691702Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.691703Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691703Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.691704Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.691704Z 01O | ^ 2026-09-16T04:23:17.691705Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.691705Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.691706Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691766Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.691767Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691768Z 01O | ^ 2026-09-16T04:23:17.691774Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691774Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691775Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691775Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.691776Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691776Z 01O | ^ 2026-09-16T04:23:17.691779Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691779Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691780Z 01O | ^ 2026-09-16T04:23:17.691780Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.691781Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691781Z 01O | ^ 2026-09-16T04:23:17.691785Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691785Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691786Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.691786Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.691787Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691787Z 01O | ^ 2026-09-16T04:23:17.691874Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691875Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691875Z 01O | ^ 2026-09-16T04:23:17.691876Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.691876Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691877Z 01O | ^ 2026-09-16T04:23:17.691877Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.691877Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.691890Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.691890Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.691891Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.691891Z 01O | ^ 2026-09-16T04:23:17.691896Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.691897Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.691897Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.691898Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.691898Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.691898Z 01O | ^ 2026-09-16T04:23:17.691899Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.691899Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.691950Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-09-16T04:23:17.692131Z 01O | ^ 2026-09-16T04:23:17.692132Z 01O /builds/Rdatatable/data.table/src/nafill.c:144:11: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.692132Z 01O 144 | if (x[i]==NA_STRING) { 2026-09-16T04:23:17.692133Z 01O | ^ 2026-09-16T04:23:17.692135Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.692136Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.692136Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.692136Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.692137Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.692137Z 01O | ^ 2026-09-16T04:23:17.692139Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.692140Z 01O 187 | if (verbose) 2026-09-16T04:23:17.692140Z 01O | ^~~~~~~ 2026-09-16T04:23:17.692140Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.692141Z 01O 187 | if (verbose) 2026-09-16T04:23:17.692141Z 01O | ^ 2026-09-16T04:23:17.692146Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.692147Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692147Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692148Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.692169Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.692170Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692171Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692174Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.692174Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692182Z 01O | ^ 2026-09-16T04:23:17.692183Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.692183Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.692184Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692187Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692188Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692188Z 01O | ^ 2026-09-16T04:23:17.692189Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692189Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692190Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692193Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.692193Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692194Z 01O | ^ 2026-09-16T04:23:17.692197Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692197Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692198Z 01O | ^ 2026-09-16T04:23:17.692198Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692199Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692199Z 01O | ^ 2026-09-16T04:23:17.692203Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692203Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692204Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.692204Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.692205Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692205Z 01O | ^ 2026-09-16T04:23:17.692208Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692208Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692209Z 01O | ^ 2026-09-16T04:23:17.692209Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692210Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692211Z 01O | ^ 2026-09-16T04:23:17.692218Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692219Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692219Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692220Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.692220Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692221Z 01O | ^ 2026-09-16T04:23:17.692223Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.692224Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.692224Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.692224Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.692225Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.692231Z 01O | ^ 2026-09-16T04:23:17.692234Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.692234Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.692278Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-09-16T04:23:17.692542Z 01O | ^ 2026-09-16T04:23:17.692542Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.692543Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.692543Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.692543Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.692544Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.692544Z 01O | ^ 2026-09-16T04:23:17.692544Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.692545Z 01O 187 | if (verbose) 2026-09-16T04:23:17.692545Z 01O | ^~~~~~~ 2026-09-16T04:23:17.692546Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.692552Z 01O 187 | if (verbose) 2026-09-16T04:23:17.692552Z 01O | ^ 2026-09-16T04:23:17.692577Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.692578Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692578Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692579Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.692583Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.692584Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692584Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692588Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.692588Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692589Z 01O | ^ 2026-09-16T04:23:17.692589Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.692590Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.692590Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692591Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692591Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692592Z 01O | ^ 2026-09-16T04:23:17.692596Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692597Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692597Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692598Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.692598Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692599Z 01O | ^ 2026-09-16T04:23:17.692601Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692602Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692602Z 01O | ^ 2026-09-16T04:23:17.692603Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692603Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692604Z 01O | ^ 2026-09-16T04:23:17.692608Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692608Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692609Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.692609Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.692610Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692610Z 01O | ^ 2026-09-16T04:23:17.692610Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692611Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692611Z 01O | ^ 2026-09-16T04:23:17.692619Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692619Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692619Z 01O | ^ 2026-09-16T04:23:17.692624Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692624Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692625Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692626Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.692626Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692626Z 01O | ^ 2026-09-16T04:23:17.692627Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.692627Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.692628Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.692628Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.692628Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.692629Z 01O | ^ 2026-09-16T04:23:17.692629Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.692629Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.692676Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-09-16T04:23:17.692842Z 01O | ^ 2026-09-16T04:23:17.692846Z 01O /builds/Rdatatable/data.table/src/nafill.c:160:9: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-09-16T04:23:17.692847Z 01O 160 | if (x[nx-1]==NA_STRING && limit>0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-09-16T04:23:17.692847Z 01O | ^ 2026-09-16T04:23:17.692848Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-16T04:23:17.692848Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.692848Z 01O | ^~~~~~~~~~~~~ 2026-09-16T04:23:17.692849Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-16T04:23:17.692849Z 01O 183 | if (!xlength(obj)) 2026-09-16T04:23:17.692850Z 01O | ^ 2026-09-16T04:23:17.692850Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-16T04:23:17.692850Z 01O 187 | if (verbose) 2026-09-16T04:23:17.692851Z 01O | ^~~~~~~ 2026-09-16T04:23:17.692851Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-16T04:23:17.692851Z 01O 187 | if (verbose) 2026-09-16T04:23:17.692852Z 01O | ^ 2026-09-16T04:23:17.692856Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-16T04:23:17.692857Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692858Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692858Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-16T04:23:17.692878Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-16T04:23:17.692879Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692880Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692883Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-16T04:23:17.692883Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-16T04:23:17.692884Z 01O | ^ 2026-09-16T04:23:17.692884Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-16T04:23:17.692885Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-16T04:23:17.692885Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692887Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692888Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692888Z 01O | ^ 2026-09-16T04:23:17.692907Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692907Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692908Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692916Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.692916Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692917Z 01O | ^ 2026-09-16T04:23:17.692917Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692918Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692918Z 01O | ^ 2026-09-16T04:23:17.692919Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692919Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692919Z 01O | ^ 2026-09-16T04:23:17.692924Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692925Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692925Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.692926Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-16T04:23:17.692926Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692927Z 01O | ^ 2026-09-16T04:23:17.692929Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692930Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692930Z 01O | ^ 2026-09-16T04:23:17.692931Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-16T04:23:17.692931Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692932Z 01O | ^ 2026-09-16T04:23:17.692951Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.692952Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.692953Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.692953Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-16T04:23:17.692954Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-16T04:23:17.692954Z 01O | ^ 2026-09-16T04:23:17.692955Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-16T04:23:17.692955Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.692956Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.692957Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-16T04:23:17.692958Z 01O 200 | if (obj_scalar) { 2026-09-16T04:23:17.692958Z 01O | ^ 2026-09-16T04:23:17.692960Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-16T04:23:17.692961Z 01O 213 | for (int i=0; i= 'nx' 2026-09-16T04:23:17.693023Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-09-16T04:23:17.693217Z 01O | ^ 2026-09-16T04:23:17.693233Z 01O /builds/Rdatatable/data.table/src/nafill.c:198:8: warning: Value stored to 'x' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-09-16T04:23:17.693234Z 01O 198 | SEXP x = R_NilValue; 2026-09-16T04:23:17.693235Z 01O | ^ ~~~~~~~~~~ 2026-09-16T04:23:17.693236Z 01O /builds/Rdatatable/data.table/src/nafill.c:198:8: note: Value stored to 'x' during its initialization is never read 2026-09-16T04:23:17.693236Z 01O 198 | SEXP x = R_NilValue; 2026-09-16T04:23:17.693244Z 01O | ^ ~~~~~~~~~~ 2026-09-16T04:23:17.693268Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: warning: Potential out of bound access to the region with tainted index [clang-analyzer-security.ArrayBound] 2026-09-16T04:23:17.693269Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-09-16T04:23:17.693270Z 01O | ^ 2026-09-16T04:23:17.693315Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-09-16T04:23:17.693316Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-09-16T04:23:17.693317Z 01O | ^ 2026-09-16T04:23:17.693317Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-09-16T04:23:17.693318Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-09-16T04:23:17.693318Z 01O | ^ 2026-09-16T04:23:17.693321Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-09-16T04:23:17.693322Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-09-16T04:23:17.693322Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693322Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-09-16T04:23:17.693323Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-09-16T04:23:17.693323Z 01O | ^ 2026-09-16T04:23:17.693326Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-09-16T04:23:17.693327Z 01O 131 | if (length(throttle)) { 2026-09-16T04:23:17.693327Z 01O | ^ 2026-09-16T04:23:17.693327Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-16T04:23:17.693328Z 01O 987 | #define length(x) Rf_length(x) 2026-09-16T04:23:17.693328Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.693348Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-09-16T04:23:17.693349Z 01O 131 | if (length(throttle)) { 2026-09-16T04:23:17.693350Z 01O | ^ 2026-09-16T04:23:17.693350Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-09-16T04:23:17.693350Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-09-16T04:23:17.693351Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693351Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-09-16T04:23:17.693356Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-09-16T04:23:17.693357Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-09-16T04:23:17.693357Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693358Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-09-16T04:23:17.693358Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-09-16T04:23:17.693358Z 01O | ^ 2026-09-16T04:23:17.693359Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-09-16T04:23:17.693359Z 01O 138 | initDTthreads(); 2026-09-16T04:23:17.693360Z 01O | ^~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693360Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-09-16T04:23:17.693360Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-09-16T04:23:17.693361Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693364Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-09-16T04:23:17.693365Z 01O 14 | const char *val = getenv(name); 2026-09-16T04:23:17.693365Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.693366Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-09-16T04:23:17.693366Z 01O 14 | const char *val = getenv(name); 2026-09-16T04:23:17.693375Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.693375Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-09-16T04:23:17.693375Z 01O 14 | const char *val = getenv(name); 2026-09-16T04:23:17.693376Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.693376Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-09-16T04:23:17.693377Z 01O 15 | if (val == NULL) return def; 2026-09-16T04:23:17.693377Z 01O | ^~~ 2026-09-16T04:23:17.693397Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-09-16T04:23:17.693399Z 01O 15 | if (val == NULL) return def; 2026-09-16T04:23:17.693399Z 01O | ^ 2026-09-16T04:23:17.693400Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-09-16T04:23:17.693400Z 01O 17 | if (nchar == 0) return def; 2026-09-16T04:23:17.693401Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.693401Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-09-16T04:23:17.693401Z 01O 17 | if (nchar == 0) return def; 2026-09-16T04:23:17.693402Z 01O | ^ 2026-09-16T04:23:17.693406Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-09-16T04:23:17.693407Z 01O 20 | long int ans = strtol(val, &end, 10); // ignores leading whitespace. If it fully consumed the string, *end=='\0' and isspace('\0')==false 2026-09-16T04:23:17.693407Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693408Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: note: Access of the region with a tainted index that may be too large 2026-09-16T04:23:17.693408Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-09-16T04:23:17.693409Z 01O | ^ 2026-09-16T04:23:17.693409Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-09-16T04:23:17.693410Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-09-16T04:23:17.693410Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693413Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-09-16T04:23:17.693414Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-09-16T04:23:17.693414Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693440Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:101:19: warning: Call to 'calloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-09-16T04:23:17.693441Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-09-16T04:23:17.693442Z 01O | ^ ~~~~~ 2026-09-16T04:23:17.693442Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-09-16T04:23:17.693443Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-16T04:23:17.693443Z 01O | ^ 2026-09-16T04:23:17.693461Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693462Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693463Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-09-16T04:23:17.693464Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-16T04:23:17.693464Z 01O | ^ 2026-09-16T04:23:17.693505Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693506Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693515Z 01O | ^ 2026-09-16T04:23:17.693515Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-09-16T04:23:17.693516Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-16T04:23:17.693516Z 01O | ^ 2026-09-16T04:23:17.693521Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693522Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693522Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.693523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-09-16T04:23:17.693523Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-16T04:23:17.693524Z 01O | ^ 2026-09-16T04:23:17.693524Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693524Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693525Z 01O | ^ 2026-09-16T04:23:17.693527Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-09-16T04:23:17.693528Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-16T04:23:17.693528Z 01O | ^ 2026-09-16T04:23:17.693550Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693552Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693552Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693553Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-09-16T04:23:17.693553Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-16T04:23:17.693554Z 01O | ^ 2026-09-16T04:23:17.693554Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-09-16T04:23:17.693555Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-09-16T04:23:17.693555Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693555Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-09-16T04:23:17.693559Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-09-16T04:23:17.693560Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-09-16T04:23:17.693560Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-09-16T04:23:17.693561Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-09-16T04:23:17.693561Z 01O | ^ 2026-09-16T04:23:17.693564Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-09-16T04:23:17.693564Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-16T04:23:17.693565Z 01O | ^ 2026-09-16T04:23:17.693568Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693569Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693570Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693570Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-09-16T04:23:17.693570Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-16T04:23:17.693571Z 01O | ^ 2026-09-16T04:23:17.693588Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693588Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693597Z 01O | ^ 2026-09-16T04:23:17.693597Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-09-16T04:23:17.693598Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-16T04:23:17.693598Z 01O | ^ 2026-09-16T04:23:17.693603Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693603Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693604Z 01O | ^~~~~~~~~~~~ 2026-09-16T04:23:17.693604Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-09-16T04:23:17.693605Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-16T04:23:17.693605Z 01O | ^ 2026-09-16T04:23:17.693608Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693608Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693609Z 01O | ^ 2026-09-16T04:23:17.693609Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-09-16T04:23:17.693610Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-16T04:23:17.693610Z 01O | ^ 2026-09-16T04:23:17.693630Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-16T04:23:17.693631Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-16T04:23:17.693631Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693633Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-09-16T04:23:17.693633Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-16T04:23:17.693634Z 01O | ^ 2026-09-16T04:23:17.693634Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-09-16T04:23:17.693634Z 01O 13 | if (!length(l)) return(l); 2026-09-16T04:23:17.693635Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.693635Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-09-16T04:23:17.693636Z 01O 13 | if (!length(l)) return(l); 2026-09-16T04:23:17.693636Z 01O | ^ 2026-09-16T04:23:17.693638Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-09-16T04:23:17.693639Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2026-09-16T04:23:17.693639Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693658Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-09-16T04:23:17.693659Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2026-09-16T04:23:17.693660Z 01O | ^ 2026-09-16T04:23:17.693661Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-09-16T04:23:17.693661Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-09-16T04:23:17.693662Z 01O | ^~~~ 2026-09-16T04:23:17.693664Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-09-16T04:23:17.693665Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-09-16T04:23:17.693665Z 01O | ^ 2026-09-16T04:23:17.693666Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-09-16T04:23:17.693666Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-09-16T04:23:17.693673Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-09-16T04:23:17.693694Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-09-16T04:23:17.693695Z 01O | ^~~~~ 2026-09-16T04:23:17.693735Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-09-16T04:23:17.693735Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-09-16T04:23:17.693736Z 01O | ^ 2026-09-16T04:23:17.693737Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-09-16T04:23:17.693737Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.693738Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.693738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.693738Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.693739Z 01O | ^ 2026-09-16T04:23:17.693740Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-16T04:23:17.693741Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.693741Z 01O | ^ 2026-09-16T04:23:17.693741Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.693742Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.693742Z 01O | ^ 2026-09-16T04:23:17.693743Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-16T04:23:17.693743Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.693743Z 01O | ^ 2026-09-16T04:23:17.693766Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-16T04:23:17.693767Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.693768Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-16T04:23:17.693776Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.693776Z 01O | ^ 2026-09-16T04:23:17.693777Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-16T04:23:17.693777Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.693778Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.693778Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-16T04:23:17.693778Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.693779Z 01O | ^ 2026-09-16T04:23:17.693779Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-16T04:23:17.693779Z 01O 37 | if (fill) { 2026-09-16T04:23:17.693780Z 01O | ^~~~ 2026-09-16T04:23:17.693781Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-16T04:23:17.693782Z 01O 37 | if (fill) { 2026-09-16T04:23:17.693782Z 01O | ^ 2026-09-16T04:23:17.693784Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-16T04:23:17.693785Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.693785Z 01O | ^~~~ 2026-09-16T04:23:17.693786Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-16T04:23:17.693786Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.693787Z 01O | ^ 2026-09-16T04:23:17.693818Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-16T04:23:17.693820Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.693821Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.693824Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-16T04:23:17.693824Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.693825Z 01O | ^ 2026-09-16T04:23:17.693825Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-16T04:23:17.693826Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.693826Z 01O | ^~~~~~ 2026-09-16T04:23:17.693828Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-16T04:23:17.693828Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.693829Z 01O | ^ 2026-09-16T04:23:17.693847Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-16T04:23:17.693848Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.693848Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.693849Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-16T04:23:17.693850Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.693851Z 01O | ^ 2026-09-16T04:23:17.693853Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-09-16T04:23:17.693854Z 01O 49 | for (int j=0; j0 checked above 2026-09-16T04:23:17.693857Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.693873Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-16T04:23:17.693875Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.693875Z 01O | ^ 2026-09-16T04:23:17.693876Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-16T04:23:17.693876Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.693877Z 01O | ^~~~~~~ 2026-09-16T04:23:17.693877Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-16T04:23:17.693877Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.693878Z 01O | ^ 2026-09-16T04:23:17.693878Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-16T04:23:17.693879Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.693879Z 01O | ^~~~ 2026-09-16T04:23:17.693879Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-16T04:23:17.693897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-16T04:23:17.693897Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.693898Z 01O | ^~~~ 2026-09-16T04:23:17.693898Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-16T04:23:17.693910Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.693911Z 01O | ^ 2026-09-16T04:23:17.693913Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-16T04:23:17.693914Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.693915Z 01O | ^~~~ 2026-09-16T04:23:17.693917Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-16T04:23:17.693917Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.693918Z 01O | ^ 2026-09-16T04:23:17.693936Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-16T04:23:17.693937Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.693938Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.693939Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-16T04:23:17.693939Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.693940Z 01O | ^ 2026-09-16T04:23:17.693942Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-16T04:23:17.693943Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.693943Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.693944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-16T04:23:17.693944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-09-16T04:23:17.693945Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.693945Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.693962Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-09-16T04:23:17.693963Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.693963Z 01O | ^ 2026-09-16T04:23:17.693964Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-09-16T04:23:17.693964Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-16T04:23:17.693965Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.693983Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-09-16T04:23:17.693983Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-16T04:23:17.693984Z 01O | ^ 2026-09-16T04:23:17.693984Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-09-16T04:23:17.693985Z 01O 83 | int nuniq=0; 2026-09-16T04:23:17.693985Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.693985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-09-16T04:23:17.693986Z 01O 85 | for (int i=0; i0 checked above 2026-09-16T04:23:17.694273Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.694291Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.694291Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.694292Z 01O | ^ 2026-09-16T04:23:17.694293Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-16T04:23:17.694293Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.694294Z 01O | ^ 2026-09-16T04:23:17.694294Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.694295Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.694295Z 01O | ^ 2026-09-16T04:23:17.694295Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-16T04:23:17.694296Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.694296Z 01O | ^ 2026-09-16T04:23:17.694299Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-16T04:23:17.694299Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.694300Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.694300Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-16T04:23:17.694307Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.694308Z 01O | ^ 2026-09-16T04:23:17.694326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-16T04:23:17.694327Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.694328Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.694328Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-16T04:23:17.694329Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.694329Z 01O | ^ 2026-09-16T04:23:17.694331Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-16T04:23:17.694332Z 01O 37 | if (fill) { 2026-09-16T04:23:17.694332Z 01O | ^~~~ 2026-09-16T04:23:17.694333Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-16T04:23:17.694333Z 01O 37 | if (fill) { 2026-09-16T04:23:17.694333Z 01O | ^ 2026-09-16T04:23:17.694334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-16T04:23:17.694334Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.694335Z 01O | ^~~~ 2026-09-16T04:23:17.694336Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-16T04:23:17.694337Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.694337Z 01O | ^ 2026-09-16T04:23:17.694339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-16T04:23:17.694340Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.694341Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.694364Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-16T04:23:17.694365Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.694367Z 01O | ^ 2026-09-16T04:23:17.694367Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-16T04:23:17.694367Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.694368Z 01O | ^~~~~~ 2026-09-16T04:23:17.694368Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-16T04:23:17.694369Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.694369Z 01O | ^ 2026-09-16T04:23:17.694386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-16T04:23:17.694387Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.694387Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.694390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-16T04:23:17.694391Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.694391Z 01O | ^ 2026-09-16T04:23:17.694391Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-09-16T04:23:17.694392Z 01O 49 | for (int j=0; j0 checked above 2026-09-16T04:23:17.694420Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.694420Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-16T04:23:17.694421Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.694421Z 01O | ^ 2026-09-16T04:23:17.694441Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-16T04:23:17.694442Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.694442Z 01O | ^~~~~~~ 2026-09-16T04:23:17.694443Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-16T04:23:17.694443Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.694444Z 01O | ^ 2026-09-16T04:23:17.694444Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-16T04:23:17.694444Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.694445Z 01O | ^~~~ 2026-09-16T04:23:17.694445Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-16T04:23:17.694448Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-16T04:23:17.694448Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.694449Z 01O | ^~~~ 2026-09-16T04:23:17.694449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-16T04:23:17.694449Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.694450Z 01O | ^ 2026-09-16T04:23:17.694468Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-16T04:23:17.694468Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.694469Z 01O | ^~~~ 2026-09-16T04:23:17.694469Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-16T04:23:17.694470Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.694471Z 01O | ^ 2026-09-16T04:23:17.694487Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-16T04:23:17.694488Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.694489Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.694490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-16T04:23:17.694490Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.694491Z 01O | ^ 2026-09-16T04:23:17.694603Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-16T04:23:17.694604Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.694605Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.694605Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-16T04:23:17.694608Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-09-16T04:23:17.694609Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.694609Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.694610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-09-16T04:23:17.694610Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.694620Z 01O | ^ 2026-09-16T04:23:17.694623Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-09-16T04:23:17.694624Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-16T04:23:17.694624Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.694625Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-09-16T04:23:17.694625Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-16T04:23:17.694626Z 01O | ^ 2026-09-16T04:23:17.694626Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-09-16T04:23:17.694626Z 01O 85 | for (int i=0; i= 'thisncol' 2026-09-16T04:23:17.694678Z 01O 92 | for (int j=0; j 'ncol' 2026-09-16T04:23:17.694783Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-16T04:23:17.694783Z 01O | ^~~~~~ 2026-09-16T04:23:17.694783Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-09-16T04:23:17.694784Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-16T04:23:17.694784Z 01O | ^ 2026-09-16T04:23:17.694786Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-09-16T04:23:17.694787Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-16T04:23:17.694787Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.694823Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-09-16T04:23:17.694825Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-09-16T04:23:17.694826Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.694827Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:153:40: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-09-16T04:23:17.694829Z 01O 153 | for (int j=0; j0 checked above 2026-09-16T04:23:17.695027Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.695027Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.695028Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.695028Z 01O | ^ 2026-09-16T04:23:17.695038Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-16T04:23:17.695039Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.695039Z 01O | ^ 2026-09-16T04:23:17.695040Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.695040Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.695041Z 01O | ^ 2026-09-16T04:23:17.695041Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-16T04:23:17.695042Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.695042Z 01O | ^ 2026-09-16T04:23:17.695044Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-16T04:23:17.695044Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.695045Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.695048Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-16T04:23:17.695048Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.695049Z 01O | ^ 2026-09-16T04:23:17.695049Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-16T04:23:17.695049Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.695050Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.695050Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-16T04:23:17.695051Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.695051Z 01O | ^ 2026-09-16T04:23:17.695069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-16T04:23:17.695069Z 01O 37 | if (fill) { 2026-09-16T04:23:17.695070Z 01O | ^~~~ 2026-09-16T04:23:17.695070Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-16T04:23:17.695071Z 01O 37 | if (fill) { 2026-09-16T04:23:17.695071Z 01O | ^ 2026-09-16T04:23:17.695071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-16T04:23:17.695072Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.695072Z 01O | ^~~~ 2026-09-16T04:23:17.695075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-16T04:23:17.695076Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.695076Z 01O | ^ 2026-09-16T04:23:17.695076Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-16T04:23:17.695077Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.695078Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.695096Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-16T04:23:17.695096Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.695097Z 01O | ^ 2026-09-16T04:23:17.695097Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-16T04:23:17.695098Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.695098Z 01O | ^~~~~~ 2026-09-16T04:23:17.695099Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-16T04:23:17.695099Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.695099Z 01O | ^ 2026-09-16T04:23:17.695117Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-16T04:23:17.695118Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.695125Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.695125Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-16T04:23:17.695126Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.695127Z 01O | ^ 2026-09-16T04:23:17.695128Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-09-16T04:23:17.695128Z 01O 49 | for (int j=0; j0 checked above 2026-09-16T04:23:17.695187Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.695188Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-16T04:23:17.695188Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.695189Z 01O | ^ 2026-09-16T04:23:17.695189Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-16T04:23:17.695190Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.695190Z 01O | ^~~~~~~ 2026-09-16T04:23:17.695190Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-16T04:23:17.695191Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.695191Z 01O | ^ 2026-09-16T04:23:17.695191Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-16T04:23:17.695192Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.695192Z 01O | ^~~~ 2026-09-16T04:23:17.695193Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-16T04:23:17.695195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-16T04:23:17.695196Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.695196Z 01O | ^~~~ 2026-09-16T04:23:17.695197Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-16T04:23:17.695197Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.695198Z 01O | ^ 2026-09-16T04:23:17.695217Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-16T04:23:17.695218Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.695218Z 01O | ^~~~ 2026-09-16T04:23:17.695221Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-16T04:23:17.695221Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.695222Z 01O | ^ 2026-09-16T04:23:17.695224Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-16T04:23:17.695225Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.695225Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.695242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-16T04:23:17.695250Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.695251Z 01O | ^ 2026-09-16T04:23:17.695252Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-16T04:23:17.695253Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.695253Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.695254Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-16T04:23:17.695280Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-09-16T04:23:17.695281Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.695281Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.695282Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-09-16T04:23:17.695282Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.695283Z 01O | ^ 2026-09-16T04:23:17.695283Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-09-16T04:23:17.695284Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-16T04:23:17.695284Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.695284Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-09-16T04:23:17.695285Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-16T04:23:17.695285Z 01O | ^ 2026-09-16T04:23:17.695334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-09-16T04:23:17.695335Z 01O 85 | for (int i=0; i= 'thisncol' 2026-09-16T04:23:17.695396Z 01O 92 | for (int j=0; j= 'thisncol' 2026-09-16T04:23:17.695478Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-09-16T04:23:17.695484Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.695485Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-09-16T04:23:17.695485Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-09-16T04:23:17.695486Z 01O | ^ 2026-09-16T04:23:17.695486Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-09-16T04:23:17.695487Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-09-16T04:23:17.695496Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.695503Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-09-16T04:23:17.695503Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-16T04:23:17.695504Z 01O | ^ 2026-09-16T04:23:17.695522Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-09-16T04:23:17.695523Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.695523Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.695523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-09-16T04:23:17.695524Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-09-16T04:23:17.695524Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.695525Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.695527Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-09-16T04:23:17.695527Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.695528Z 01O | ^ 2026-09-16T04:23:17.695530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-09-16T04:23:17.695530Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.695531Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.695531Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-09-16T04:23:17.695532Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.695532Z 01O | ^ 2026-09-16T04:23:17.695549Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-09-16T04:23:17.695550Z 01O 142 | for (int i=0; i= 'ncol' 2026-09-16T04:23:17.695570Z 01O 143 | for (int i=0; i0 checked above 2026-09-16T04:23:17.695946Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.695946Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.695947Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.695947Z 01O | ^ 2026-09-16T04:23:17.695948Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-16T04:23:17.695948Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.695949Z 01O | ^ 2026-09-16T04:23:17.695951Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.695951Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.695952Z 01O | ^ 2026-09-16T04:23:17.695952Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-16T04:23:17.695953Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.695953Z 01O | ^ 2026-09-16T04:23:17.695969Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-16T04:23:17.695970Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.695970Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.695973Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-16T04:23:17.695974Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.695974Z 01O | ^ 2026-09-16T04:23:17.695975Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-16T04:23:17.695975Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.695976Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.695976Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-16T04:23:17.695976Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.695977Z 01O | ^ 2026-09-16T04:23:17.695977Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-16T04:23:17.695978Z 01O 37 | if (fill) { 2026-09-16T04:23:17.695978Z 01O | ^~~~ 2026-09-16T04:23:17.695980Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-16T04:23:17.695981Z 01O 37 | if (fill) { 2026-09-16T04:23:17.695981Z 01O | ^ 2026-09-16T04:23:17.695981Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-16T04:23:17.695982Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.695982Z 01O | ^~~~ 2026-09-16T04:23:17.695983Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-16T04:23:17.695983Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.695984Z 01O | ^ 2026-09-16T04:23:17.695987Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-16T04:23:17.695994Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.695995Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.695995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-16T04:23:17.695996Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.695997Z 01O | ^ 2026-09-16T04:23:17.695997Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-16T04:23:17.695997Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.695998Z 01O | ^~~~~~ 2026-09-16T04:23:17.695998Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-16T04:23:17.695999Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.695999Z 01O | ^ 2026-09-16T04:23:17.696097Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-16T04:23:17.696098Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.696099Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.696101Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-16T04:23:17.696102Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.696103Z 01O | ^ 2026-09-16T04:23:17.696103Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-09-16T04:23:17.696104Z 01O 49 | for (int j=0; j0 checked above 2026-09-16T04:23:17.696128Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.696129Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-16T04:23:17.696129Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.696130Z 01O | ^ 2026-09-16T04:23:17.696130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-16T04:23:17.696130Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.696131Z 01O | ^~~~~~~ 2026-09-16T04:23:17.696134Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-16T04:23:17.696135Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.696135Z 01O | ^ 2026-09-16T04:23:17.696136Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-16T04:23:17.696136Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.696137Z 01O | ^~~~ 2026-09-16T04:23:17.696137Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-16T04:23:17.696137Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-16T04:23:17.696138Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.696138Z 01O | ^~~~ 2026-09-16T04:23:17.696139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-16T04:23:17.696139Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.696148Z 01O | ^ 2026-09-16T04:23:17.696151Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-16T04:23:17.696151Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.696152Z 01O | ^~~~ 2026-09-16T04:23:17.696152Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-16T04:23:17.696153Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.696154Z 01O | ^ 2026-09-16T04:23:17.696156Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-16T04:23:17.696156Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.696158Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.696177Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-16T04:23:17.696178Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.696179Z 01O | ^ 2026-09-16T04:23:17.696179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-16T04:23:17.696180Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.696180Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.696180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-16T04:23:17.696183Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-09-16T04:23:17.696183Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.696184Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.696184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-09-16T04:23:17.696185Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.696185Z 01O | ^ 2026-09-16T04:23:17.696204Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-09-16T04:23:17.696205Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-16T04:23:17.696205Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.696205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-09-16T04:23:17.696206Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-16T04:23:17.696206Z 01O | ^ 2026-09-16T04:23:17.696207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-09-16T04:23:17.696207Z 01O 85 | for (int i=0; i= 'thisncol' 2026-09-16T04:23:17.696261Z 01O 92 | for (int j=0; j= 'thisncol' 2026-09-16T04:23:17.696349Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-09-16T04:23:17.696376Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.696376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-09-16T04:23:17.696377Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-09-16T04:23:17.696377Z 01O | ^ 2026-09-16T04:23:17.696379Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-09-16T04:23:17.696380Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-09-16T04:23:17.696398Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.696398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-09-16T04:23:17.696399Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-16T04:23:17.696399Z 01O | ^ 2026-09-16T04:23:17.696399Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-09-16T04:23:17.696400Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.696400Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.696401Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-09-16T04:23:17.696403Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-09-16T04:23:17.696404Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.696404Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.696405Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-09-16T04:23:17.696405Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.696406Z 01O | ^ 2026-09-16T04:23:17.696406Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-09-16T04:23:17.696406Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.696407Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.696409Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-09-16T04:23:17.696409Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-16T04:23:17.696410Z 01O | ^ 2026-09-16T04:23:17.696410Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-09-16T04:23:17.696411Z 01O 142 | for (int i=0; i= 'ncol' 2026-09-16T04:23:17.696415Z 01O 143 | for (int i=0; i0 checked above 2026-09-16T04:23:17.696804Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.696804Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.696805Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.696805Z 01O | ^ 2026-09-16T04:23:17.696807Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-16T04:23:17.696808Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.696808Z 01O | ^ 2026-09-16T04:23:17.696809Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.696809Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.696810Z 01O | ^ 2026-09-16T04:23:17.696810Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-16T04:23:17.696811Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.696811Z 01O | ^ 2026-09-16T04:23:17.696814Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-16T04:23:17.696814Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.696826Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.696826Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-16T04:23:17.696827Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.696827Z 01O | ^ 2026-09-16T04:23:17.696828Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-16T04:23:17.696828Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.696828Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.696831Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-16T04:23:17.696832Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.696832Z 01O | ^ 2026-09-16T04:23:17.696832Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-16T04:23:17.696833Z 01O 37 | if (fill) { 2026-09-16T04:23:17.696833Z 01O | ^~~~ 2026-09-16T04:23:17.696834Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-16T04:23:17.696834Z 01O 37 | if (fill) { 2026-09-16T04:23:17.696834Z 01O | ^ 2026-09-16T04:23:17.696835Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-16T04:23:17.696835Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.696836Z 01O | ^~~~ 2026-09-16T04:23:17.696855Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-16T04:23:17.696856Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.696856Z 01O | ^ 2026-09-16T04:23:17.696860Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-16T04:23:17.696861Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.696861Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.696862Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-16T04:23:17.696862Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.696863Z 01O | ^ 2026-09-16T04:23:17.696863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-16T04:23:17.696864Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.696864Z 01O | ^~~~~~ 2026-09-16T04:23:17.696881Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-16T04:23:17.696881Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.696882Z 01O | ^ 2026-09-16T04:23:17.696885Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-09-16T04:23:17.696885Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.696886Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.696886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.696887Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.696887Z 01O | ^ 2026-09-16T04:23:17.696903Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-09-16T04:23:17.696904Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.696904Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.696961Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-09-16T04:23:17.696977Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.696977Z 01O | ^ 2026-09-16T04:23:17.696978Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-16T04:23:17.696979Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.696979Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.696982Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-16T04:23:17.696983Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.696984Z 01O | ^ 2026-09-16T04:23:17.696984Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.696984Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-09-16T04:23:17.697008Z 01O | ^~~~ 2026-09-16T04:23:17.697012Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-09-16T04:23:17.697012Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-09-16T04:23:17.697013Z 01O | ^ 2026-09-16T04:23:17.697013Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-09-16T04:23:17.697014Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-09-16T04:23:17.697014Z 01O | ^~~~~ 2026-09-16T04:23:17.697018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-09-16T04:23:17.697018Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-09-16T04:23:17.697019Z 01O | ^ 2026-09-16T04:23:17.697019Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-09-16T04:23:17.697020Z 01O 49 | for (int j=0; j0 checked above 2026-09-16T04:23:17.697021Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.697022Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-16T04:23:17.697022Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.697023Z 01O | ^ 2026-09-16T04:23:17.697025Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-16T04:23:17.697025Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.697026Z 01O | ^~~~~~~ 2026-09-16T04:23:17.697026Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-16T04:23:17.697026Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.697027Z 01O | ^ 2026-09-16T04:23:17.697070Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-16T04:23:17.697081Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.697081Z 01O | ^~~~ 2026-09-16T04:23:17.697082Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-16T04:23:17.697082Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-16T04:23:17.697083Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.697083Z 01O | ^~~~ 2026-09-16T04:23:17.697086Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-16T04:23:17.697086Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.697087Z 01O | ^ 2026-09-16T04:23:17.697089Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-16T04:23:17.697089Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.697090Z 01O | ^~~~ 2026-09-16T04:23:17.697093Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-16T04:23:17.697093Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.697094Z 01O | ^ 2026-09-16T04:23:17.697094Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-16T04:23:17.697095Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.697096Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.697116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-16T04:23:17.697117Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.697118Z 01O | ^ 2026-09-16T04:23:17.697119Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-09-16T04:23:17.697119Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-09-16T04:23:17.697120Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.697120Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-16T04:23:17.697120Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697121Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697121Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-16T04:23:17.697137Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-09-16T04:23:17.697139Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697139Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.697140Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-09-16T04:23:17.697140Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697141Z 01O | ^ 2026-09-16T04:23:17.697143Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-09-16T04:23:17.697144Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-09-16T04:23:17.697144Z 01O | ^~~~ 2026-09-16T04:23:17.697147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-09-16T04:23:17.697147Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-09-16T04:23:17.697148Z 01O | ^ 2026-09-16T04:23:17.697156Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-09-16T04:23:17.697156Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697157Z 01O | ^~~~ 2026-09-16T04:23:17.697176Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-09-16T04:23:17.697177Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697178Z 01O | ^ 2026-09-16T04:23:17.697178Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-09-16T04:23:17.697179Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697179Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-09-16T04:23:17.697180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-09-16T04:23:17.697180Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697181Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697181Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-09-16T04:23:17.697182Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697182Z 01O | ^ 2026-09-16T04:23:17.697184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-09-16T04:23:17.697185Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697185Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697186Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-09-16T04:23:17.697186Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697187Z 01O | ^ 2026-09-16T04:23:17.697187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-09-16T04:23:17.697187Z 01O 251 | if (idcol) { 2026-09-16T04:23:17.697188Z 01O | ^~~~~ 2026-09-16T04:23:17.697205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-09-16T04:23:17.697205Z 01O 251 | if (idcol) { 2026-09-16T04:23:17.697206Z 01O | ^ 2026-09-16T04:23:17.697209Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.697209Z 01O 279 | for(int j=0; j0 checked above 2026-09-16T04:23:17.697572Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.697574Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.697575Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.697575Z 01O | ^ 2026-09-16T04:23:17.697575Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-16T04:23:17.697576Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.697576Z 01O | ^ 2026-09-16T04:23:17.697578Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-16T04:23:17.697579Z 01O 956 | #define isNull Rf_isNull 2026-09-16T04:23:17.697579Z 01O | ^ 2026-09-16T04:23:17.697589Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-16T04:23:17.697589Z 01O 32 | if (isNull(li)) continue; 2026-09-16T04:23:17.697589Z 01O | ^ 2026-09-16T04:23:17.697610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-16T04:23:17.697611Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.697612Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.697612Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-16T04:23:17.697612Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-16T04:23:17.697613Z 01O | ^ 2026-09-16T04:23:17.697613Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-16T04:23:17.697614Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.697614Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.697615Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-16T04:23:17.697615Z 01O 35 | if (!thisncol) continue; 2026-09-16T04:23:17.697615Z 01O | ^ 2026-09-16T04:23:17.697616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-16T04:23:17.697616Z 01O 37 | if (fill) { 2026-09-16T04:23:17.697617Z 01O | ^~~~ 2026-09-16T04:23:17.697617Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-16T04:23:17.697617Z 01O 37 | if (fill) { 2026-09-16T04:23:17.697618Z 01O | ^ 2026-09-16T04:23:17.697618Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-16T04:23:17.697618Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.697619Z 01O | ^~~~ 2026-09-16T04:23:17.697621Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-16T04:23:17.697621Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-16T04:23:17.697622Z 01O | ^ 2026-09-16T04:23:17.697640Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-16T04:23:17.697641Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.697642Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697642Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-16T04:23:17.697642Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-16T04:23:17.697643Z 01O | ^ 2026-09-16T04:23:17.697645Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-16T04:23:17.697646Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.697646Z 01O | ^~~~~~ 2026-09-16T04:23:17.697646Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-16T04:23:17.697647Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-16T04:23:17.697647Z 01O | ^ 2026-09-16T04:23:17.697665Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-09-16T04:23:17.697666Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.697666Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.697667Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.697667Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.697675Z 01O | ^ 2026-09-16T04:23:17.697696Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-09-16T04:23:17.697696Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.697697Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.697697Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-09-16T04:23:17.697698Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.697699Z 01O | ^ 2026-09-16T04:23:17.697701Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-16T04:23:17.697701Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.697702Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.697746Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-16T04:23:17.697748Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-16T04:23:17.697748Z 01O | ^ 2026-09-16T04:23:17.697749Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.697749Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-09-16T04:23:17.697773Z 01O | ^~~~ 2026-09-16T04:23:17.697793Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-09-16T04:23:17.697793Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-09-16T04:23:17.697794Z 01O | ^ 2026-09-16T04:23:17.697795Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-09-16T04:23:17.697795Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-09-16T04:23:17.697796Z 01O | ^~~~~ 2026-09-16T04:23:17.697796Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-09-16T04:23:17.697796Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-09-16T04:23:17.697797Z 01O | ^ 2026-09-16T04:23:17.697797Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-09-16T04:23:17.697798Z 01O 49 | for (int j=0; j0 checked above 2026-09-16T04:23:17.697817Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.697818Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-16T04:23:17.697818Z 01O 29 | for (int i=0; i0 checked above 2026-09-16T04:23:17.697819Z 01O | ^ 2026-09-16T04:23:17.697821Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-16T04:23:17.697833Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.697834Z 01O | ^~~~~~~ 2026-09-16T04:23:17.697834Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-16T04:23:17.697834Z 01O 57 | if (numZero) { // #1871 2026-09-16T04:23:17.697835Z 01O | ^ 2026-09-16T04:23:17.697835Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-09-16T04:23:17.697836Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.697836Z 01O | ^~~~ 2026-09-16T04:23:17.697855Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-09-16T04:23:17.697856Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-16T04:23:17.697856Z 01O | ^ 2026-09-16T04:23:17.697859Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-16T04:23:17.697860Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.697860Z 01O | ^~~~ 2026-09-16T04:23:17.697861Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-16T04:23:17.697861Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-09-16T04:23:17.697862Z 01O | ^ 2026-09-16T04:23:17.697879Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-16T04:23:17.697880Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.697880Z 01O | ^~~~~~~~~~~~~~ 2026-09-16T04:23:17.697880Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-16T04:23:17.697881Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-16T04:23:17.697882Z 01O | ^ 2026-09-16T04:23:17.697884Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-09-16T04:23:17.697884Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-09-16T04:23:17.697885Z 01O | ^~~~~~~~~~~ 2026-09-16T04:23:17.697885Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-16T04:23:17.697886Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697886Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-16T04:23:17.697911Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-09-16T04:23:17.697912Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697913Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.697913Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-09-16T04:23:17.697914Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697914Z 01O | ^ 2026-09-16T04:23:17.697931Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-09-16T04:23:17.697932Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-09-16T04:23:17.697933Z 01O | ^~~~ 2026-09-16T04:23:17.697935Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-09-16T04:23:17.697936Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-09-16T04:23:17.697945Z 01O | ^ 2026-09-16T04:23:17.697948Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-09-16T04:23:17.697948Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697949Z 01O | ^~~~ 2026-09-16T04:23:17.697966Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-09-16T04:23:17.697966Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697967Z 01O | ^ 2026-09-16T04:23:17.697967Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-09-16T04:23:17.697968Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697968Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697969Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-09-16T04:23:17.697972Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-09-16T04:23:17.697973Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697973Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697974Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-09-16T04:23:17.697974Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-16T04:23:17.697975Z 01O | ^ 2026-09-16T04:23:17.697992Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-09-16T04:23:17.697994Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697994Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.697995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-09-16T04:23:17.697995Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-09-16T04:23:17.697996Z 01O | ^ 2026-09-16T04:23:17.697996Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-09-16T04:23:17.697996Z 01O 251 | if (idcol) { 2026-09-16T04:23:17.697997Z 01O | ^~~~~ 2026-09-16T04:23:17.697997Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-09-16T04:23:17.697998Z 01O 251 | if (idcol) { 2026-09-16T04:23:17.697998Z 01O | ^ 2026-09-16T04:23:17.697998Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.697999Z 01O 279 | for(int j=0; j= 1 2026-09-16T04:23:17.698343Z 01O 27 | if (n<1) return 0; 2026-09-16T04:23:17.698344Z 01O | ^~~ 2026-09-16T04:23:17.698344Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-09-16T04:23:17.698344Z 01O 27 | if (n<1) return 0; 2026-09-16T04:23:17.698345Z 01O | ^ 2026-09-16T04:23:17.698347Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-09-16T04:23:17.698347Z 01O 29 | va_start(ap, fmt); 2026-09-16T04:23:17.698348Z 01O | ^ 2026-09-16T04:23:17.698366Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-09-16T04:23:17.698367Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-09-16T04:23:17.698377Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-16T04:23:17.698377Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-09-16T04:23:17.698378Z 01O 40 | while (*ch!='\0') { 2026-09-16T04:23:17.698378Z 01O | ^~~~~~~~~ 2026-09-16T04:23:17.698378Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-09-16T04:23:17.698379Z 01O 40 | while (*ch!='\0') { 2026-09-16T04:23:17.698379Z 01O | ^ 2026-09-16T04:23:17.698382Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-09-16T04:23:17.698383Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-09-16T04:23:17.698383Z 01O | ^~~~~~~~ 2026-09-16T04:23:17.698383Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-09-16T04:23:17.698384Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-09-16T04:23:17.698384Z 01O | ^ 2026-09-16T04:23:17.698387Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-09-16T04:23:17.698388Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-09-16T04:23:17.698388Z 01O | ^~~~~~~~~~ 2026-09-16T04:23:17.698389Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-09-16T04:23:17.698389Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-09-16T04:23:17.698390Z 01O | ^ 2026-09-16T04:23:17.698390Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-09-16T04:23:17.698390Z 01O 47 | if (!end) { 2026-09-16T04:23:17.698391Z 01O | ^~~~ 2026-09-16T04:23:17.698391Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-09-16T04:23:17.698391Z 01O 47 | if (!end) { 2026-09-16T04:23:17.698392Z 01O | ^ 2026-09-16T04:23:17.698411Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-09-16T04:23:17.698412Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-09-16T04:23:17.698413Z 01O | ^ 2026-09-16T04:23:17.698414Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-09-16T04:23:17.698415Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-09-16T04:23:17.698415Z 01O | ^~~~~~ 2026-09-16T04:23:17.698418Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-09-16T04:23:17.698419Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-09-16T04:23:17.698420Z 01O | ^~~~~~ 2026-09-16T04:23:17.706708Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-09-16T04:23:18.070161Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-09-16T04:23:18.070170Z 01O * using R Under development (unstable) (2026-09-14 r90539) 2026-09-16T04:23:18.070185Z 01O * using platform: x86_64-pc-linux-gnu 2026-09-16T04:23:18.070297Z 01O * R was compiled by 2026-09-16T04:23:18.070386Z 01O Debian clang version 21.1.8 (10) 2026-09-16T04:23:18.070388Z 01O GNU Fortran (Debian 16.2.0-1) 16.2.0 2026-09-16T04:23:18.070413Z 01O * running under: Debian GNU/Linux forky/sid 2026-09-16T04:23:18.070565Z 01O * using session charset: UTF-8 2026-09-16T04:23:18.070940Z 01O * current time: 2026-09-16 04:23:18 UTC 2026-09-16T04:23:18.577365Z 01O * using option ‘--as-cran’ 2026-09-16T04:23:18.577444Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-09-16T04:23:18.579214Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-09-16T04:23:18.579366Z 01O * package encoding: UTF-8 2026-09-16T04:23:18.579468Z 01O * checking CRAN incoming feasibility ... NOTE 2026-09-16T04:23:18.943073Z 01O Maintainer: ‘Tyson Barrett ’ 2026-09-16T04:23:18.943076Z 01O 2026-09-16T04:23:18.943076Z 01O Authors@R field should be a call to person(), or combine such calls. 2026-09-16T04:23:18.943083Z 01O * checking package namespace information ... OK 2026-09-16T04:23:18.949479Z 01O * checking package dependencies ... OK 2026-09-16T04:23:19.849711Z 01O * checking if this is a source package ... OK 2026-09-16T04:23:19.851538Z 01O * checking if there is a namespace ... OK 2026-09-16T04:23:19.854338Z 01O * checking for .dll and .exe files ... OK 2026-09-16T04:23:19.854617Z 01O * checking for hidden files and directories ... OK 2026-09-16T04:23:19.855843Z 01O * checking for portable file names ... OK 2026-09-16T04:23:19.858618Z 01O * checking for sufficient/correct file permissions ... OK 2026-09-16T04:23:19.861571Z 01O * checking whether package ‘data.table’ can be installed ... [15s/15s] OK 2026-09-16T04:23:35.157629Z 01O * used C compiler: ‘Debian clang version 21.1.8 (10)’ 2026-09-16T04:23:35.157812Z 01O * checking installed package size ... INFO 2026-09-16T04:23:35.160523Z 01O installed size is 8.0Mb 2026-09-16T04:23:35.160974Z 01O sub-directories of 1Mb or more: 2026-09-16T04:23:35.161301Z 01O doc 1.1Mb 2026-09-16T04:23:35.161303Z 01O libs 1.5Mb 2026-09-16T04:23:35.161303Z 01O po 1.7Mb 2026-09-16T04:23:35.161304Z 01O tests 2.2Mb 2026-09-16T04:23:35.168144Z 01O * checking package directory ... OK 2026-09-16T04:23:35.168444Z 01O * checking for future file timestamps ... OK 2026-09-16T04:23:35.168769Z 01O * checking ‘build’ directory ... OK 2026-09-16T04:23:35.169287Z 01O * checking DESCRIPTION meta-information ... OK 2026-09-16T04:23:35.733178Z 01O * checking top-level files ... OK 2026-09-16T04:23:36.789713Z 01O * checking for left-over files ... OK 2026-09-16T04:23:36.791664Z 01O * checking index information ... OK 2026-09-16T04:23:36.913661Z 01O * checking package subdirectories ... OK 2026-09-16T04:23:37.164320Z 01O * checking code files for non-ASCII characters ... OK 2026-09-16T04:23:37.197093Z 01O * checking R files for syntax errors ... OK 2026-09-16T04:23:37.248301Z 01O * checking whether the package can be loaded ... OK 2026-09-16T04:23:37.389198Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-09-16T04:23:37.501076Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-09-16T04:23:37.612539Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-09-16T04:23:37.725367Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-09-16T04:23:37.868403Z 01O * checking loading without being on the library search path ... OK 2026-09-16T04:23:38.157779Z 01O * checking whether startup messages can be suppressed ... OK 2026-09-16T04:23:38.294927Z 01O * checking use of S3 registration ... OK 2026-09-16T04:23:38.315687Z 01O * checking dependencies in R code ... OK 2026-09-16T04:23:38.968689Z 01O * checking S3 generic/method consistency ... OK 2026-09-16T04:23:39.243075Z 01O * checking replacement functions ... OK 2026-09-16T04:23:39.414383Z 01O * checking foreign function calls ... OK 2026-09-16T04:23:39.998028Z 01O * checking R code for possible problems ... [12s/12s] OK 2026-09-16T04:23:52.015981Z 01O * checking Rd files ... OK 2026-09-16T04:23:52.551952Z 01O * checking Rd metadata ... OK 2026-09-16T04:23:52.580136Z 01O * checking Rd line widths ... NOTE 2026-09-16T04:23:52.793256Z 01O Rd file 'nafill.Rd': 2026-09-16T04:23:52.793258Z 01O \usage lines wider than 90 characters: 2026-09-16T04:23:52.793259Z 01O setnafill(x, type=c("const", "locf", "nocb"), fill=NA, nan=NA, cols=seq_along(x), limit=Inf) 2026-09-16T04:23:52.793260Z 01O 2026-09-16T04:23:52.793520Z 01O These lines will be truncated in the PDF manual. 2026-09-16T04:23:52.793549Z 01O * checking Rd cross-references ... OK 2026-09-16T04:23:53.257483Z 01O * checking for missing documentation entries ... OK 2026-09-16T04:23:53.416478Z 01O * checking for code/documentation mismatches ... INFO 2026-09-16T04:23:53.710614Z 01O Exported functions without usage information: 2026-09-16T04:23:53.710616Z 01O := dcast let melt 2026-09-16T04:23:54.163977Z 01O * checking Rd \usage sections ... OK 2026-09-16T04:23:54.871354Z 01O * checking Rd contents ... OK 2026-09-16T04:23:55.213914Z 01O * checking for unstated dependencies in examples ... OK 2026-09-16T04:23:55.538898Z 01O * checking line endings in shell scripts ... OK 2026-09-16T04:23:55.539137Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-09-16T04:23:55.551154Z 01O * checking line endings in Makefiles ... OK 2026-09-16T04:23:55.551267Z 01O * checking compilation flags in Makevars ... OK 2026-09-16T04:23:55.587254Z 01O * checking for GNU extensions in Makefiles ... OK 2026-09-16T04:23:55.587632Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-09-16T04:23:55.588390Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-09-16T04:23:55.590180Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-09-16T04:23:55.593387Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-09-16T04:23:55.608513Z 01O * checking compilation flags used ... OK 2026-09-16T04:23:55.609500Z 01O * checking compiled code ... OK 2026-09-16T04:23:57.577659Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-09-16T04:23:57.719400Z 01O * checking files in ‘vignettes’ ... OK 2026-09-16T04:23:58.320370Z 01O * checking examples ... OK 2026-09-16T04:24:05.297145Z 01O * checking examples with --run-donttest ... OK 2026-09-16T04:24:14.023028Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-09-16T04:24:14.065394Z 01O * checking tests ... 2026-09-16T04:24:14.163712Z 01O Running ‘autoprint.R’ 2026-09-16T04:24:14.319941Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-09-16T04:24:14.323993Z 01O Running ‘froll.R’ [267s/267s] 2026-09-16T04:28:41.560072Z 01O Running ‘litedown.R’ 2026-09-16T04:28:41.766291Z 01O Running ‘main.R’ [30s/30s] 2026-09-16T04:29:11.716873Z 01O Running ‘mergelist.R’ 2026-09-16T04:29:12.684140Z 01O Running ‘nafill.R’ 2026-09-16T04:29:12.977782Z 01O Running ‘optimize.R’ 2026-09-16T04:29:13.885355Z 01O Running ‘other.R’ 2026-09-16T04:29:14.028787Z 01O Running ‘programming.R’ 2026-09-16T04:29:14.465204Z 01O Running ‘S4.R’ 2026-09-16T04:29:14.699628Z 01O Running ‘self.R’ 2026-09-16T04:29:14.863308Z 01O Running ‘types.R’ 2026-09-16T04:29:15.045592Z 01O [301s/301s] OK 2026-09-16T04:29:15.177397Z 01O * checking for unstated dependencies in vignettes ... OK 2026-09-16T04:29:15.363183Z 01O * checking package vignettes ... OK 2026-09-16T04:29:16.237853Z 01O * checking re-building of vignette outputs ... [19s/20s] OK 2026-09-16T04:29:36.317075Z 01O * checking PDF version of manual ... OK 2026-09-16T04:29:40.929684Z 01O * checking HTML version of manual ... NOTE 2026-09-16T04:29:42.882567Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-09-16T04:29:42.882577Z 01O * checking for non-standard things in the check directory ... OK 2026-09-16T04:29:42.882746Z 01O * checking for detritus in the temp directory ... OK 2026-09-16T04:29:42.883107Z 01O * DONE 2026-09-16T04:29:42.883476Z 01E 2026-09-16T04:29:42.883491Z 01O Status: 3 NOTEs 2026-09-16T04:29:42.883591Z 01E See 2026-09-16T04:29:42.883593Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-09-16T04:29:42.883596Z 01E for details. 2026-09-16T04:29:42.883599Z 01E 2026-09-16T04:29:42.895166Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-09-16T04:29:42.896359Z 01O $ Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 1 NOTE"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (V8 package) but ", shQuote(l)) else q("no")' 2026-09-16T04:29:42.988335Z 01E Error: Last line of '00check.log' is not 'Status: 1 NOTE' (V8 package) but 'Status: 3 NOTEs' 2026-09-16T04:29:42.988342Z 01E Execution halted 2026-09-16T04:29:43.125405Z 00O section_end:1789532983:step_script  2026-09-16T04:29:43.125947Z 00O+section_start:1789532983:after_script  2026-09-16T04:29:43.125956Z 00O+Running after_script 2026-09-16T04:29:43.356157Z 01O Running after script... 2026-09-16T04:29:43.356188Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-09-16T04:29:43.356811Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-09-16T04:29:43.356816Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-09-16T04:29:43.356818Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-09-16T04:29:43.356823Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-09-16T04:29:43.478538Z 00O section_end:1789532983:after_script  2026-09-16T04:29:43.479634Z 00O+section_start:1789532983:upload_artifacts_on_failure  2026-09-16T04:29:43.479644Z 00O+Uploading artifacts for failed job 2026-09-16T04:29:43.731493Z 01O Uploading artifacts... 2026-09-16T04:29:43.765040Z 01E bus/test-lin-dev-clang-cran: found 721 matching artifact files and directories 2026-09-16T04:29:44.953827Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=b6beaab92d7846f89a2b826ed09e675d id=16527545490 status=201 token=73_u5Yejy 2026-09-16T04:29:45.079288Z 00O section_end:1789532985:upload_artifacts_on_failure  2026-09-16T04:29:45.079669Z 00O+section_start:1789532985:cleanup_file_variables  2026-09-16T04:29:45.079676Z 00O+Cleaning up project directory and file based variables 2026-09-16T04:29:45.441917Z 00O section_end:1789532985:cleanup_file_variables  2026-09-16T04:29:45.468477Z 00O ERROR: Job failed: exit code 1