2026-10-30T04:20:38.445019Z 00O Running with gitlab-runner 19.6.0~pre.2364.gcc7d9535 (cc7d9535) 2026-10-30T04:20:38.445043Z 00O  on k8s.saas-linux-medium-amd64.runners-manager.gitlab.com/default j8vTLRhES, system ID: r_5g34fAQyR9m7 2026-10-30T04:20:38.445046Z 00O  UUID: 01a01aa6-2f91-7d2c-b24d-7e2d2752ac58 2026-10-30T04:20:38.445056Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true, FF_HASH_CACHE_KEYS:true, FF_USE_JOB_ROUTER:true, FF_MACHINE_OPTIONS_EXPAND_ENV:true, FF_DOCKER_MACHINE_JSON_OUTPUT:true 2026-10-30T04:20:38.445082Z 00O Resolving secrets 2026-10-30T04:20:38.445204Z 00O section_start:1793334038:prepare_executor  2026-10-30T04:20:38.445207Z 00O+Preparing the "docker+machine" executor 2026-10-30T04:20:38.517084Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-10-30T04:20:38.517122Z 00O Using helper image: us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.6.0 ) 2026-10-30T04:20:38.517130Z 00O Using effective pull policy of [always] for container us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 2026-10-30T04:20:38.517707Z 00O Pulling docker image us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 ... 2026-10-30T04:20:39.683826Z 00O Using docker image sha256:e516a5247b58c0dc65b851e6182e8e82adb95c17e9e1c7296766587e65d20e20 for us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 with digest us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper@sha256:594cc89134ef76aa73685eba2879d66e742c61917fb7fb0921f3f939e61d4e2d ... 2026-10-30T04:20:41.263337Z 00O Using helper image: us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.6.0 ) 2026-10-30T04:20:41.263348Z 00O Using effective pull policy of [always] for container us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 2026-10-30T04:20:41.264206Z 00O Using docker image sha256:e516a5247b58c0dc65b851e6182e8e82adb95c17e9e1c7296766587e65d20e20 for us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 with digest us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper@sha256:594cc89134ef76aa73685eba2879d66e742c61917fb7fb0921f3f939e61d4e2d ... 2026-10-30T04:20:41.264215Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-10-30T04:20:41.264875Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-10-30T04:20:41.264879Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-10-30T04:20:54.813687Z 00O Using docker image sha256:12f6d845d467cd6ed5d02a441e4ad43af5292bf2eb360d41692761c9d6b0f768 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:ef3ec0fde359cbd45b0c7ce13794cfcc3dbad9f43a343fc703c212dc4992a7d7 ... 2026-10-30T04:20:54.813771Z 00O section_end:1793334054:prepare_executor  2026-10-30T04:20:54.813864Z 00O+section_start:1793334054:prepare_script  2026-10-30T04:20:54.813868Z 00O+Preparing environment 2026-10-30T04:20:54.813894Z 00O Using helper image: us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.6.0 ) 2026-10-30T04:20:54.813901Z 00O Using effective pull policy of [always] for container us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 2026-10-30T04:20:54.814659Z 00O Using docker image sha256:e516a5247b58c0dc65b851e6182e8e82adb95c17e9e1c7296766587e65d20e20 for us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper:cc7d9535 with digest us-east1-docker.pkg.dev/gitlab-com-artifact-registry/containers-public/gitlab-runner-helper@sha256:594cc89134ef76aa73685eba2879d66e742c61917fb7fb0921f3f939e61d4e2d ... 2026-10-30T04:20:54.814668Z 00O Using effective pull policy of [always] for container sha256:e516a5247b58c0dc65b851e6182e8e82adb95c17e9e1c7296766587e65d20e20 2026-10-30T04:21:04.097644Z 01O Running on runner-j8vtlrhes-project-3622566-concurrent-0 via runner-j8vtlrhes-s-l-m-amd64-1793333969-16cc6f3e... 2026-10-30T04:21:04.101284Z 01O Running on CPU: INTEL(R) XEON(R) PLATINUM 8581C CPU @ 2.10GHz (avx, avx2, avx512f) 2026-10-30T04:21:04.241439Z 00O section_end:1793334064:prepare_script  2026-10-30T04:21:04.241966Z 00O+section_start:1793334064:get_sources  2026-10-30T04:21:04.241973Z 00O+Getting source from Git repository 2026-10-30T04:21:04.525794Z 01O Gitaly correlation ID: d8641047be5a40b0b9d648c7d3bed21a 2026-10-30T04:21:04.529844Z 01O Fetching changes... 2026-10-30T04:21:04.532199Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-10-30T04:21:04.533755Z 01O Created fresh repository. 2026-10-30T04:21:09.258958Z 01O Checking out 086c6466 as detached HEAD (ref is master)... 2026-10-30T04:21:09.396939Z 01O 2026-10-30T04:21:09.396942Z 01O Skipping Git submodules setup 2026-10-30T04:21:09.396944Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-10-30T04:21:09.577705Z 00O section_end:1793334069:get_sources  2026-10-30T04:21:09.578167Z 00O+section_start:1793334069:download_artifacts  2026-10-30T04:21:09.578172Z 00O+Downloading artifacts 2026-10-30T04:21:09.897403Z 01O Downloading artifacts for build (17597456896)... 2026-10-30T04:21:10.082970Z 01E Direct download from storage.googleapis.com  correlation_id=a0dc37cf95194de48382ba71f30d871b id=17597456896 status=302 token=74_xC_JBo 2026-10-30T04:21:10.285336Z 01E Downloading artifacts from coordinator... ok  correlation_id=a0dc37cf95194de48382ba71f30d871b id=17597456896 status=302 token=74_xC_JBo 2026-10-30T04:21:10.294304Z 01O Downloading artifacts for mirror-packages (17597456894)... 2026-10-30T04:21:10.499048Z 01E Direct download from storage.googleapis.com  correlation_id=d18ce55fab76495f94ee7d0d676badae id=17597456894 status=302 token=74_xC_JBo 2026-10-30T04:21:14.279763Z 01E Downloading artifacts from coordinator... ok  correlation_id=d18ce55fab76495f94ee7d0d676badae id=17597456894 status=302 token=74_xC_JBo 2026-10-30T04:21:15.372027Z 00O section_end:1793334075:download_artifacts  2026-10-30T04:21:15.372474Z 00O+section_start:1793334075:step_script  2026-10-30T04:21:15.372482Z 00O+Executing "step_script" stage of the job script 2026-10-30T04:21:15.372494Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-10-30T04:21:15.373445Z 00O Using docker image sha256:12f6d845d467cd6ed5d02a441e4ad43af5292bf2eb360d41692761c9d6b0f768 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:ef3ec0fde359cbd45b0c7ce13794cfcc3dbad9f43a343fc703c212dc4992a7d7 ... 2026-10-30T04:21:15.649185Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-10-30T04:21:15.655400Z 01O $ mkdir -p ~/.R 2026-10-30T04:21:15.656428Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-10-30T04:21:15.656452Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-10-30T04:21:15.656454Z 01O $ Rscript -e 'source(".ci/ci.R"); install.packages(dcf.dependencies("DESCRIPTION", which="all"), repos=file.path("file:", normalizePath("bus/mirror-packages/cran", mustWork=FALSE)), quiet=TRUE)' 2026-10-30T04:21:15.816504Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-10-30T04:21:15.816508Z 01E 2026-10-30T04:22:12.186513Z 01E Updating HTML index of packages in '.Library' 2026-10-30T04:22:12.186628Z 01E Making 'packages.html' ... done 2026-10-30T04:22:12.195628Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-10-30T04:22:12.213447Z 01E [1/48] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-10-30T04:22:17.779655Z 01E 2 warnings generated. 2026-10-30T04:22:17.779728Z 01E [2/48] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-10-30T04:22:19.990592Z 01E 2 warnings generated. 2026-10-30T04:22:19.990721Z 01E [3/48] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-10-30T04:22:24.829375Z 01E 2 warnings generated. 2026-10-30T04:22:24.829973Z 01E [4/48] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-10-30T04:22:24.991383Z 01E 6 warnings generated. 2026-10-30T04:22:24.991405Z 01E [5/48] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-10-30T04:22:26.898293Z 01E 6 warnings generated. 2026-10-30T04:22:26.898406Z 01E [6/48] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-10-30T04:22:28.242010Z 01E 6 warnings generated. 2026-10-30T04:22:28.242209Z 01E [7/48] Processing file /builds/Rdatatable/data.table/src/deleterows.c. 2026-10-30T04:22:28.392633Z 01E 6 warnings generated. 2026-10-30T04:22:28.392797Z 01E [8/48] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-10-30T04:22:31.284269Z 01E 6 warnings generated. 2026-10-30T04:22:31.284386Z 01E [9/48] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-10-30T04:22:31.318661Z 01E 8 warnings generated. 2026-10-30T04:22:31.318674Z 01E [10/48] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-10-30T04:22:33.302526Z 01E 11 warnings generated. 2026-10-30T04:22:33.302539Z 01E [11/48] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-10-30T04:22:37.057538Z 01E 12 warnings generated. 2026-10-30T04:22:37.057811Z 01E [12/48] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-10-30T04:22:39.851784Z 01E 13 warnings generated. 2026-10-30T04:22:39.851790Z 01E [13/48] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-10-30T04:22:45.835081Z 01E 14 warnings generated. 2026-10-30T04:22:45.835090Z 01E [14/48] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-10-30T04:22:48.198236Z 01E 14 warnings generated. 2026-10-30T04:22:48.198945Z 01E [15/48] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-10-30T04:22:52.083140Z 01E 26 warnings generated. 2026-10-30T04:22:52.083299Z 01E [16/48] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-10-30T04:22:57.549515Z 01E 29 warnings generated. 2026-10-30T04:22:57.549521Z 01E [17/48] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-10-30T04:23:04.196420Z 01E 35 warnings generated. 2026-10-30T04:23:04.196483Z 01E [18/48] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-10-30T04:23:06.578028Z 01E 36 warnings generated. 2026-10-30T04:23:06.578201Z 01E [19/48] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-10-30T04:23:08.222150Z 01E 39 warnings generated. 2026-10-30T04:23:08.222318Z 01E [20/48] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-10-30T04:23:08.254015Z 01E 39 warnings generated. 2026-10-30T04:23:08.254135Z 01E [21/48] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-10-30T04:23:08.439019Z 01E 39 warnings generated. 2026-10-30T04:23:08.439147Z 01E [22/48] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-10-30T04:23:12.665158Z 01E 41 warnings generated. 2026-10-30T04:23:12.665233Z 01E [23/48] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-10-30T04:23:14.558451Z 01E 41 warnings generated. 2026-10-30T04:23:14.558530Z 01E [24/48] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-10-30T04:23:24.387447Z 01E 46 warnings generated. 2026-10-30T04:23:24.387456Z 01E [25/48] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-10-30T04:23:24.474673Z 01E 47 warnings generated. 2026-10-30T04:23:24.474747Z 01E [26/48] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-10-30T04:23:24.664623Z 01E 47 warnings generated. 2026-10-30T04:23:24.664901Z 01E [27/48] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-10-30T04:23:28.028438Z 01E 50 warnings generated. 2026-10-30T04:23:28.028646Z 01E [28/48] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-10-30T04:23:28.065731Z 01E 50 warnings generated. 2026-10-30T04:23:28.065909Z 01E [29/48] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-10-30T04:23:28.090348Z 01E 50 warnings generated. 2026-10-30T04:23:28.090585Z 01E [30/48] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-10-30T04:23:28.694089Z 01E 50 warnings generated. 2026-10-30T04:23:28.694353Z 01E [31/48] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-10-30T04:23:30.941172Z 01E 63 warnings generated. 2026-10-30T04:23:30.941184Z 01E [32/48] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-10-30T04:23:30.960002Z 01E 63 warnings generated. 2026-10-30T04:23:30.960262Z 01E [33/48] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-10-30T04:23:30.987524Z 01E 63 warnings generated. 2026-10-30T04:23:30.987636Z 01E [34/48] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-10-30T04:23:31.068035Z 01E 64 warnings generated. 2026-10-30T04:23:31.068137Z 01E [35/48] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-10-30T04:23:31.353638Z 01E 64 warnings generated. 2026-10-30T04:23:31.353875Z 01E [36/48] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-10-30T04:23:31.897988Z 01E 64 warnings generated. 2026-10-30T04:23:31.898390Z 01E [37/48] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-10-30T04:23:34.172903Z 01E 70 warnings generated. 2026-10-30T04:23:34.173081Z 01E [38/48] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-10-30T04:23:35.891875Z 01E 70 warnings generated. 2026-10-30T04:23:35.892155Z 01E [39/48] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-10-30T04:23:35.914646Z 01E 70 warnings generated. 2026-10-30T04:23:35.914801Z 01E [40/48] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-10-30T04:23:37.689989Z 01E 70 warnings generated. 2026-10-30T04:23:37.690153Z 01E [41/48] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-10-30T04:23:38.411686Z 01E 72 warnings generated. 2026-10-30T04:23:38.411977Z 01E [42/48] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-10-30T04:23:38.668376Z 01E 72 warnings generated. 2026-10-30T04:23:38.668624Z 01E [43/48] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-10-30T04:23:40.345140Z 01E 72 warnings generated. 2026-10-30T04:23:40.345374Z 01E [44/48] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-10-30T04:23:40.526617Z 01E 72 warnings generated. 2026-10-30T04:23:40.526770Z 01E [45/48] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-10-30T04:23:45.255016Z 01E 72 warnings generated. 2026-10-30T04:23:45.255256Z 01E [46/48] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-10-30T04:23:45.972090Z 01E 72 warnings generated. 2026-10-30T04:23:45.972374Z 01E [47/48] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-10-30T04:23:46.001131Z 01E 72 warnings generated. 2026-10-30T04:23:46.001336Z 01E [48/48] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-10-30T04:23:47.918992Z 01E 72 warnings generated. 2026-10-30T04:23:47.919728Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: warning: Out of bound access to memory after the end of 'source' [clang-analyzer-security.ArrayBound] 2026-10-30T04:23:47.919731Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-30T04:23:47.919731Z 01O | ^ 2026-10-30T04:23:47.919732Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-10-30T04:23:47.919733Z 01O 934 | const STYPE val = sd[soff]; \ 2026-10-30T04:23:47.919733Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.919734Z 01O /builds/Rdatatable/data.table/src/assign.c:711:7: note: Assuming 'len' is >= 1 2026-10-30T04:23:47.919734Z 01O 711 | if (len<1) return NULL; 2026-10-30T04:23:47.919735Z 01O | ^~~~~ 2026-10-30T04:23:47.919735Z 01O /builds/Rdatatable/data.table/src/assign.c:711:3: note: Taking false branch 2026-10-30T04:23:47.919735Z 01O 711 | if (len<1) return NULL; 2026-10-30T04:23:47.919736Z 01O | ^ 2026-10-30T04:23:47.919736Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: Assuming 'sourceLen' is < 0 2026-10-30T04:23:47.919736Z 01O 712 | int slen = sourceLen>=0 ? sourceLen : length(source); // since source may get reassigned to a scalar, we should not mark it as const 2026-10-30T04:23:47.919737Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.919738Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: '?' condition is false 2026-10-30T04:23:47.919739Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'slen' is not equal to 0 2026-10-30T04:23:47.919739Z 01O 713 | if (slen==0) return NULL; 2026-10-30T04:23:47.919740Z 01O | ^~~~~~~ 2026-10-30T04:23:47.919740Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2026-10-30T04:23:47.919741Z 01O 713 | if (slen==0) return NULL; 2026-10-30T04:23:47.919742Z 01O | ^ 2026-10-30T04:23:47.919742Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'sourceStart' is >= 0 2026-10-30T04:23:47.919743Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-10-30T04:23:47.919743Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.919744Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Left side of '||' is false 2026-10-30T04:23:47.919745Z 01O /builds/Rdatatable/data.table/src/assign.c:714:24: note: Assuming the condition is false 2026-10-30T04:23:47.919745Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-10-30T04:23:47.919746Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.919747Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-10-30T04:23:47.919747Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-10-30T04:23:47.919748Z 01O | ^ 2026-10-30T04:23:47.919748Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming the condition is false 2026-10-30T04:23:47.919749Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-10-30T04:23:47.919750Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.919750Z 01O /builds/Rdatatable/data.table/src/assign.c:716:22: note: Left side of '&&' is false 2026-10-30T04:23:47.919751Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-10-30T04:23:47.919752Z 01O | ^ 2026-10-30T04:23:47.919763Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming 'slen' is <= 1 2026-10-30T04:23:47.919787Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-10-30T04:23:47.919788Z 01O | ^~~~~~ 2026-10-30T04:23:47.919789Z 01O /builds/Rdatatable/data.table/src/assign.c:719:14: note: Left side of '&&' is false 2026-10-30T04:23:47.919789Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-10-30T04:23:47.919790Z 01O | ^ 2026-10-30T04:23:47.919791Z 01O /builds/Rdatatable/data.table/src/assign.c:723:7: note: Assuming 'colname' is not equal to NULL 2026-10-30T04:23:47.919792Z 01O 723 | if (colname==NULL) 2026-10-30T04:23:47.919792Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.919793Z 01O /builds/Rdatatable/data.table/src/assign.c:723:3: note: Taking false branch 2026-10-30T04:23:47.919793Z 01O 723 | if (colname==NULL) 2026-10-30T04:23:47.919794Z 01O | ^ 2026-10-30T04:23:47.919794Z 01O /builds/Rdatatable/data.table/src/assign.c:728:26: note: Assuming the condition is false 2026-10-30T04:23:47.919795Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-10-30T04:23:47.919796Z 01O | ^ 2026-10-30T04:23:47.919825Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-10-30T04:23:47.919826Z 01O 963 | #define isReal Rf_isReal 2026-10-30T04:23:47.919827Z 01O | ^ 2026-10-30T04:23:47.919828Z 01O /builds/Rdatatable/data.table/src/assign.c:728:41: note: Left side of '&&' is false 2026-10-30T04:23:47.919828Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-10-30T04:23:47.919829Z 01O | ^ 2026-10-30T04:23:47.919830Z 01O /builds/Rdatatable/data.table/src/assign.c:729:26: note: Assuming the condition is false 2026-10-30T04:23:47.919831Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-10-30T04:23:47.919831Z 01O | ^ 2026-10-30T04:23:47.919832Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-10-30T04:23:47.919833Z 01O 963 | #define isReal Rf_isReal 2026-10-30T04:23:47.919833Z 01O | ^ 2026-10-30T04:23:47.919834Z 01O /builds/Rdatatable/data.table/src/assign.c:729:41: note: Left side of '&&' is false 2026-10-30T04:23:47.919834Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-10-30T04:23:47.919835Z 01O | ^ 2026-10-30T04:23:47.919836Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Assuming 'sourceIsFactor' is false 2026-10-30T04:23:47.919837Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-10-30T04:23:47.919837Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.919838Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Left side of '||' is false 2026-10-30T04:23:47.919838Z 01O /builds/Rdatatable/data.table/src/assign.c:730:25: note: Assuming 'targetIsFactor' is false 2026-10-30T04:23:47.919839Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-10-30T04:23:47.919840Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.919840Z 01O /builds/Rdatatable/data.table/src/assign.c:730:3: note: Taking false branch 2026-10-30T04:23:47.919841Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-10-30T04:23:47.919842Z 01O | ^ 2026-10-30T04:23:47.919842Z 01O /builds/Rdatatable/data.table/src/assign.c:837:14: note: Assuming the condition is false 2026-10-30T04:23:47.919843Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-10-30T04:23:47.919844Z 01O | ^ 2026-10-30T04:23:47.919853Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-10-30T04:23:47.919854Z 01O 966 | #define isString Rf_isString 2026-10-30T04:23:47.919861Z 01O | ^ 2026-10-30T04:23:47.919862Z 01O /builds/Rdatatable/data.table/src/assign.c:837:31: note: Left side of '&&' is false 2026-10-30T04:23:47.919863Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-10-30T04:23:47.919864Z 01O | ^ 2026-10-30T04:23:47.919877Z 01O /builds/Rdatatable/data.table/src/assign.c:846:14: note: Assuming the condition is false 2026-10-30T04:23:47.919878Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-10-30T04:23:47.919878Z 01O | ^ 2026-10-30T04:23:47.919879Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-10-30T04:23:47.919880Z 01O 955 | #define isNewList Rf_isNewList 2026-10-30T04:23:47.919880Z 01O | ^ 2026-10-30T04:23:47.919881Z 01O /builds/Rdatatable/data.table/src/assign.c:846:32: note: Left side of '&&' is false 2026-10-30T04:23:47.919882Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-10-30T04:23:47.919882Z 01O | ^ 2026-10-30T04:23:47.919893Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Assuming the condition is false 2026-10-30T04:23:47.919894Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-10-30T04:23:47.919895Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.919896Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Left side of '||' is false 2026-10-30T04:23:47.919896Z 01O /builds/Rdatatable/data.table/src/assign.c:861:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-10-30T04:23:47.919897Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-10-30T04:23:47.919898Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.919899Z 01O /builds/Rdatatable/data.table/src/assign.c:861:75: note: Left side of '&&' is false 2026-10-30T04:23:47.919900Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-10-30T04:23:47.919901Z 01O | ^ 2026-10-30T04:23:47.919909Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: Assuming the condition is false 2026-10-30T04:23:47.919910Z 01O 971 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-10-30T04:23:47.919911Z 01O | ^ 2026-10-30T04:23:47.919912Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.919912Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.919913Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.920036Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: '?' condition is false 2026-10-30T04:23:47.920037Z 01O 971 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-10-30T04:23:47.920038Z 01O | ^ 2026-10-30T04:23:47.920039Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.920039Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.920040Z 01O | ^ 2026-10-30T04:23:47.920041Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Assuming the condition is true 2026-10-30T04:23:47.920041Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-10-30T04:23:47.920043Z 01O | ^ 2026-10-30T04:23:47.920043Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.920053Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.920053Z 01O | ^ 2026-10-30T04:23:47.920054Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-10-30T04:23:47.920055Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-10-30T04:23:47.920056Z 01O | ^ 2026-10-30T04:23:47.920056Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.920057Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.920058Z 01O | ^ 2026-10-30T04:23:47.920058Z 01O /builds/Rdatatable/data.table/src/assign.c:972:39: note: Assuming 'slen' is > 0 2026-10-30T04:23:47.920059Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-10-30T04:23:47.920060Z 01O | ^~~~~~ 2026-10-30T04:23:47.920061Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-10-30T04:23:47.920062Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-10-30T04:23:47.920063Z 01O | ^ 2026-10-30T04:23:47.920064Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.920064Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.920065Z 01O | ^ 2026-10-30T04:23:47.920235Z 01O /builds/Rdatatable/data.table/src/assign.c:972:49: note: Assuming 'slen' is equal to 'len' 2026-10-30T04:23:47.920236Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-10-30T04:23:47.920238Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.920238Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-10-30T04:23:47.920239Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-10-30T04:23:47.920240Z 01O | ^ 2026-10-30T04:23:47.920241Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.920242Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.920242Z 01O | ^ 2026-10-30T04:23:47.920243Z 01O /builds/Rdatatable/data.table/src/assign.c:972:62: note: Assuming 'soff' is not equal to 0 2026-10-30T04:23:47.920244Z 01O 972 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-10-30T04:23:47.920245Z 01O | ^~~~~~~ 2026-10-30T04:23:47.920245Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: Assuming the condition is false 2026-10-30T04:23:47.920246Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-10-30T04:23:47.920247Z 01O | ^ 2026-10-30T04:23:47.920247Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.920248Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.920257Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.920258Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: '?' condition is false 2026-10-30T04:23:47.920258Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-10-30T04:23:47.920259Z 01O | ^ 2026-10-30T04:23:47.920259Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.920260Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.920261Z 01O | ^ 2026-10-30T04:23:47.920261Z 01O /builds/Rdatatable/data.table/src/assign.c:974:3: note: Control jumps to 'case 20:' at line 1102 2026-10-30T04:23:47.920262Z 01O 974 | switch (TYPEOF(target)) { 2026-10-30T04:23:47.920263Z 01O | ^ 2026-10-30T04:23:47.920263Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: 'len' is equal to 1 2026-10-30T04:23:47.920264Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-30T04:23:47.920265Z 01O | ^~~ 2026-10-30T04:23:47.920265Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-10-30T04:23:47.920266Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:21: note: Assuming the condition is true 2026-10-30T04:23:47.920266Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-30T04:23:47.920267Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.920268Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-10-30T04:23:47.920268Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-30T04:23:47.920269Z 01O | ^ 2026-10-30T04:23:47.920270Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:47: note: Assuming the condition is true 2026-10-30T04:23:47.920270Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-30T04:23:47.920271Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.920272Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:5: note: Taking true branch 2026-10-30T04:23:47.920272Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-30T04:23:47.920273Z 01O | ^ 2026-10-30T04:23:47.920274Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Assuming the condition is true 2026-10-30T04:23:47.920274Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-30T04:23:47.920275Z 01O | ^ 2026-10-30T04:23:47.920275Z 01O /builds/Rdatatable/data.table/src/assign.c:932:9: note: expanded from macro 'BODY' 2026-10-30T04:23:47.920276Z 01O 932 | if (length(where)) { \ 2026-10-30T04:23:47.920277Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.920277Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.920278Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.920279Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.920297Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-10-30T04:23:47.920303Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-30T04:23:47.920304Z 01O | ^ 2026-10-30T04:23:47.920304Z 01O /builds/Rdatatable/data.table/src/assign.c:932:5: note: expanded from macro 'BODY' 2026-10-30T04:23:47.920305Z 01O 932 | if (length(where)) { \ 2026-10-30T04:23:47.920305Z 01O | ^ 2026-10-30T04:23:47.920305Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: 'slen' is equal to 1 2026-10-30T04:23:47.920306Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-30T04:23:47.920306Z 01O | ^ 2026-10-30T04:23:47.920311Z 01O /builds/Rdatatable/data.table/src/assign.c:933:11: note: expanded from macro 'BODY' 2026-10-30T04:23:47.920312Z 01O 933 | if (slen==1) { \ 2026-10-30T04:23:47.920312Z 01O | ^~~~ 2026-10-30T04:23:47.920525Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-10-30T04:23:47.920526Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-30T04:23:47.920527Z 01O | ^ 2026-10-30T04:23:47.920527Z 01O /builds/Rdatatable/data.table/src/assign.c:933:7: note: expanded from macro 'BODY' 2026-10-30T04:23:47.920528Z 01O 933 | if (slen==1) { \ 2026-10-30T04:23:47.920529Z 01O | ^ 2026-10-30T04:23:47.920675Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Access of 'source' at an overflowing index, while it holds only a single 'struct SEXPREC *' element 2026-10-30T04:23:47.920677Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-30T04:23:47.920678Z 01O | ^ 2026-10-30T04:23:47.920679Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-10-30T04:23:47.920680Z 01O 934 | const STYPE val = sd[soff]; \ 2026-10-30T04:23:47.920680Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.920681Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2026-10-30T04:23:47.920682Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-10-30T04:23:47.920683Z 01O | ^~~~~ 2026-10-30T04:23:47.920683Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-10-30T04:23:47.920684Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-10-30T04:23:47.920685Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.920685Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-10-30T04:23:47.920686Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-10-30T04:23:47.920686Z 01O | ^ 2026-10-30T04:23:47.920687Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-10-30T04:23:47.920687Z 01O 6 | if (chin && chmatchdup) 2026-10-30T04:23:47.920688Z 01O | ^~~~ 2026-10-30T04:23:47.920688Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-10-30T04:23:47.920701Z 01O 6 | if (chin && chmatchdup) 2026-10-30T04:23:47.920702Z 01O | ^ 2026-10-30T04:23:47.920702Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-10-30T04:23:47.920703Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-10-30T04:23:47.920704Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.920704Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-10-30T04:23:47.920705Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-10-30T04:23:47.920706Z 01O | ^ 2026-10-30T04:23:47.920706Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-10-30T04:23:47.920707Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-10-30T04:23:47.920708Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.920708Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-10-30T04:23:47.920709Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-10-30T04:23:47.920709Z 01O | ^ 2026-10-30T04:23:47.920710Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-10-30T04:23:47.920711Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-10-30T04:23:47.920711Z 01O | ^ 2026-10-30T04:23:47.920724Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-10-30T04:23:47.920725Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-10-30T04:23:47.920725Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-10-30T04:23:47.920726Z 01O | ^~~~~~~ 2026-10-30T04:23:47.920727Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-10-30T04:23:47.920728Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-10-30T04:23:47.920728Z 01O | ^ 2026-10-30T04:23:47.920729Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-10-30T04:23:47.920730Z 01O 31 | if (tablelen==0) { 2026-10-30T04:23:47.920730Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.920731Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-10-30T04:23:47.920732Z 01O 31 | if (tablelen==0) { 2026-10-30T04:23:47.920732Z 01O | ^ 2026-10-30T04:23:47.920733Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-10-30T04:23:47.920733Z 01O 40 | if (isSymbol(x)) { 2026-10-30T04:23:47.920734Z 01O | ^ 2026-10-30T04:23:47.920734Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-10-30T04:23:47.920735Z 01O 953 | #define isSymbol Rf_isSymbol 2026-10-30T04:23:47.920736Z 01O | ^ 2026-10-30T04:23:47.920736Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-10-30T04:23:47.920737Z 01O 40 | if (isSymbol(x)) { 2026-10-30T04:23:47.920737Z 01O | ^ 2026-10-30T04:23:47.920738Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-10-30T04:23:47.920739Z 01O 46 | if (xlen==1) { 2026-10-30T04:23:47.920739Z 01O | ^~~~~~~ 2026-10-30T04:23:47.920740Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-10-30T04:23:47.920740Z 01O 46 | if (xlen==1) { 2026-10-30T04:23:47.920741Z 01O | ^ 2026-10-30T04:23:47.920741Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-10-30T04:23:47.920742Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.920743Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.920743Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-10-30T04:23:47.920744Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-10-30T04:23:47.920745Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.920745Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.920746Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-10-30T04:23:47.920747Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.920747Z 01O | ^ 2026-10-30T04:23:47.920748Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-10-30T04:23:47.920748Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-10-30T04:23:47.920749Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.920750Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.920751Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-10-30T04:23:47.920751Z 01O | ^ 2026-10-30T04:23:47.920752Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-10-30T04:23:47.920752Z 01O 66 | if (tl == 0) { 2026-10-30T04:23:47.920753Z 01O | ^~~~~~~ 2026-10-30T04:23:47.920753Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-10-30T04:23:47.920754Z 01O 66 | if (tl == 0) { 2026-10-30T04:23:47.920761Z 01O | ^ 2026-10-30T04:23:47.920762Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-10-30T04:23:47.920762Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-10-30T04:23:47.920763Z 01O | ^ 2026-10-30T04:23:47.920763Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.920764Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-10-30T04:23:47.920765Z 01O | ^ 2026-10-30T04:23:47.920765Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: note: Access of 'sym' at index 1, while it holds only a single 'struct SEXPREC *' element 2026-10-30T04:23:47.920766Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-10-30T04:23:47.920767Z 01O | ^~~~~ 2026-10-30T04:23:47.920768Z 01O /builds/Rdatatable/data.table/src/chmatch.c:128:34: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2026-10-30T04:23:47.920769Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-10-30T04:23:47.920769Z 01O | ^~~~~ 2026-10-30T04:23:47.920770Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-10-30T04:23:47.920771Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-10-30T04:23:47.920771Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.920772Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-10-30T04:23:47.920773Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-10-30T04:23:47.920773Z 01O | ^ 2026-10-30T04:23:47.920774Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-10-30T04:23:47.920775Z 01O 6 | if (chin && chmatchdup) 2026-10-30T04:23:47.920775Z 01O | ^~~~ 2026-10-30T04:23:47.920776Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-10-30T04:23:47.920776Z 01O 6 | if (chin && chmatchdup) 2026-10-30T04:23:47.920777Z 01O | ^ 2026-10-30T04:23:47.920777Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-10-30T04:23:47.920778Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-10-30T04:23:47.920779Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.920780Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-10-30T04:23:47.920780Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-10-30T04:23:47.920781Z 01O | ^ 2026-10-30T04:23:47.920781Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-10-30T04:23:47.920782Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-10-30T04:23:47.920783Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.920783Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-10-30T04:23:47.920784Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-10-30T04:23:47.920784Z 01O | ^ 2026-10-30T04:23:47.920785Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-10-30T04:23:47.920786Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-10-30T04:23:47.920787Z 01O | ^ 2026-10-30T04:23:47.920787Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-10-30T04:23:47.920788Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-10-30T04:23:47.920789Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-10-30T04:23:47.920789Z 01O | ^~~~~~~ 2026-10-30T04:23:47.920790Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-10-30T04:23:47.920796Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-10-30T04:23:47.920797Z 01O | ^ 2026-10-30T04:23:47.920798Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-10-30T04:23:47.920798Z 01O 31 | if (tablelen==0) { 2026-10-30T04:23:47.920799Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.920800Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-10-30T04:23:47.920800Z 01O 31 | if (tablelen==0) { 2026-10-30T04:23:47.920801Z 01O | ^ 2026-10-30T04:23:47.920801Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-10-30T04:23:47.920802Z 01O 40 | if (isSymbol(x)) { 2026-10-30T04:23:47.920803Z 01O | ^ 2026-10-30T04:23:47.920803Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-10-30T04:23:47.920804Z 01O 953 | #define isSymbol Rf_isSymbol 2026-10-30T04:23:47.920804Z 01O | ^ 2026-10-30T04:23:47.920805Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-10-30T04:23:47.920806Z 01O 40 | if (isSymbol(x)) { 2026-10-30T04:23:47.920806Z 01O | ^ 2026-10-30T04:23:47.920807Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-10-30T04:23:47.920807Z 01O 46 | if (xlen==1) { 2026-10-30T04:23:47.920808Z 01O | ^~~~~~~ 2026-10-30T04:23:47.920808Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-10-30T04:23:47.920809Z 01O 46 | if (xlen==1) { 2026-10-30T04:23:47.920809Z 01O | ^ 2026-10-30T04:23:47.920810Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-10-30T04:23:47.920810Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.920811Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.920812Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-10-30T04:23:47.920812Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.920813Z 01O | ^ 2026-10-30T04:23:47.920814Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-10-30T04:23:47.920814Z 01O 99 | for (int i=0; i= 'tablelen' 2026-10-30T04:23:47.920900Z 01O 123 | for (int i=0; i= 'tablelen' 2026-10-30T04:23:47.920915Z 01O 125 | for (int i=0; i= 0 2026-10-30T04:23:47.920929Z 01O 129 | if (u<0) { 2026-10-30T04:23:47.920929Z 01O | ^~~ 2026-10-30T04:23:47.920930Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-10-30T04:23:47.920930Z 01O 129 | if (u<0) { 2026-10-30T04:23:47.920931Z 01O | ^ 2026-10-30T04:23:47.920934Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-10-30T04:23:47.920934Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-10-30T04:23:47.921020Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.921020Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-10-30T04:23:47.921021Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.921022Z 01O | ^ 2026-10-30T04:23:47.921051Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-10-30T04:23:47.921053Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.921053Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.921054Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-10-30T04:23:47.921055Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.921055Z 01O | ^ 2026-10-30T04:23:47.921056Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-10-30T04:23:47.921057Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-10-30T04:23:47.921157Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.921157Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-10-30T04:23:47.921167Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-10-30T04:23:47.921168Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.921168Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.921169Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-10-30T04:23:47.921170Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-30T04:23:47.921170Z 01O | ^ 2026-10-30T04:23:47.921171Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-10-30T04:23:47.921171Z 01O 99 | for (int i=0; i= 0 2026-10-30T04:23:47.921200Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-10-30T04:23:47.921201Z 01O | ^~~ 2026-10-30T04:23:47.921202Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-10-30T04:23:47.921202Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-10-30T04:23:47.921203Z 01O | ^ 2026-10-30T04:23:47.921206Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-10-30T04:23:47.921207Z 01O 144 | for (int i=0; i2) { 2026-10-30T04:23:47.921232Z 01O | ^ 2026-10-30T04:23:47.921232Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.921233Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.921233Z 01O | ^ 2026-10-30T04:23:47.921234Z 01O /builds/Rdatatable/data.table/src/fastmean.c:36:3: note: Taking false branch 2026-10-30T04:23:47.921235Z 01O 36 | if (length(args)>2) { 2026-10-30T04:23:47.921235Z 01O | ^ 2026-10-30T04:23:47.921236Z 01O /builds/Rdatatable/data.table/src/fastmean.c:44:7: note: Assuming the condition is false 2026-10-30T04:23:47.921236Z 01O 44 | if (!isInteger(x) && !isReal(x) && !isLogical(x)) { 2026-10-30T04:23:47.921237Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.921238Z 01O /builds/Rdatatable/data.table/src/fastmean.c:44:21: note: Left side of '&&' is false 2026-10-30T04:23:47.921238Z 01O 44 | if (!isInteger(x) && !isReal(x) && !isLogical(x)) { 2026-10-30T04:23:47.921239Z 01O | ^ 2026-10-30T04:23:47.921240Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:19: note: Assuming 'x_type' is equal to REALSXP 2026-10-30T04:23:47.921240Z 01O 49 | const int *xi = x_type == REALSXP ? NULL : INTEGER_RO(x); 2026-10-30T04:23:47.921241Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.921242Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:19: note: '?' condition is true 2026-10-30T04:23:47.921246Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:3: note: 'xi' initialized to a null pointer value 2026-10-30T04:23:47.921253Z 01O 49 | const int *xi = x_type == REALSXP ? NULL : INTEGER_RO(x); 2026-10-30T04:23:47.921253Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.921254Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:22: note: 'x_type' is equal to REALSXP 2026-10-30T04:23:47.921254Z 01O 50 | const double *xd = x_type == REALSXP ? REAL_RO(x) : NULL; 2026-10-30T04:23:47.921255Z 01O | ^~~~~~ 2026-10-30T04:23:47.921256Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:22: note: '?' condition is true 2026-10-30T04:23:47.921263Z 01O /builds/Rdatatable/data.table/src/fastmean.c:51:7: note: 'narm' is 0 2026-10-30T04:23:47.921264Z 01O 51 | if (narm) { 2026-10-30T04:23:47.921264Z 01O | ^~~~ 2026-10-30T04:23:47.921265Z 01O /builds/Rdatatable/data.table/src/fastmean.c:51:3: note: Taking false branch 2026-10-30T04:23:47.921266Z 01O 51 | if (narm) { 2026-10-30T04:23:47.921266Z 01O | ^ 2026-10-30T04:23:47.921267Z 01O /builds/Rdatatable/data.table/src/fastmean.c:89:5: note: Control jumps to 'case 13:' at line 91 2026-10-30T04:23:47.921268Z 01O 89 | switch(TYPEOF(x)) { 2026-10-30T04:23:47.921268Z 01O | ^ 2026-10-30T04:23:47.921269Z 01O /builds/Rdatatable/data.table/src/fastmean.c:92:21: note: Assuming 'i' is < 'l' 2026-10-30T04:23:47.921269Z 01O 92 | for (int i=0; i2) { 2026-10-30T04:23:47.921359Z 01O | ^ 2026-10-30T04:23:47.921359Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.921360Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.921361Z 01O | ^ 2026-10-30T04:23:47.921361Z 01O /builds/Rdatatable/data.table/src/fastmean.c:36:3: note: Taking false branch 2026-10-30T04:23:47.921362Z 01O 36 | if (length(args)>2) { 2026-10-30T04:23:47.921363Z 01O | ^ 2026-10-30T04:23:47.921363Z 01O /builds/Rdatatable/data.table/src/fastmean.c:44:7: note: Assuming the condition is false 2026-10-30T04:23:47.921364Z 01O 44 | if (!isInteger(x) && !isReal(x) && !isLogical(x)) { 2026-10-30T04:23:47.921365Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.921365Z 01O /builds/Rdatatable/data.table/src/fastmean.c:44:21: note: Left side of '&&' is false 2026-10-30T04:23:47.921366Z 01O 44 | if (!isInteger(x) && !isReal(x) && !isLogical(x)) { 2026-10-30T04:23:47.921367Z 01O | ^ 2026-10-30T04:23:47.921367Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:19: note: Assuming 'x_type' is not equal to REALSXP 2026-10-30T04:23:47.921368Z 01O 49 | const int *xi = x_type == REALSXP ? NULL : INTEGER_RO(x); 2026-10-30T04:23:47.921369Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.921369Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:19: note: '?' condition is false 2026-10-30T04:23:47.921377Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:22: note: 'x_type' is not equal to REALSXP 2026-10-30T04:23:47.921378Z 01O 50 | const double *xd = x_type == REALSXP ? REAL_RO(x) : NULL; 2026-10-30T04:23:47.921379Z 01O | ^~~~~~ 2026-10-30T04:23:47.921379Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:22: note: '?' condition is false 2026-10-30T04:23:47.921380Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:3: note: 'xd' initialized to a null pointer value 2026-10-30T04:23:47.921381Z 01O 50 | const double *xd = x_type == REALSXP ? REAL_RO(x) : NULL; 2026-10-30T04:23:47.921381Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.921385Z 01O /builds/Rdatatable/data.table/src/fastmean.c:51:7: note: 'narm' is 0 2026-10-30T04:23:47.921386Z 01O 51 | if (narm) { 2026-10-30T04:23:47.921387Z 01O | ^~~~ 2026-10-30T04:23:47.921387Z 01O /builds/Rdatatable/data.table/src/fastmean.c:51:3: note: Taking false branch 2026-10-30T04:23:47.921388Z 01O 51 | if (narm) { 2026-10-30T04:23:47.921388Z 01O | ^ 2026-10-30T04:23:47.921389Z 01O /builds/Rdatatable/data.table/src/fastmean.c:89:5: note: Control jumps to 'case 14:' at line 98 2026-10-30T04:23:47.921390Z 01O 89 | switch(TYPEOF(x)) { 2026-10-30T04:23:47.921390Z 01O | ^ 2026-10-30T04:23:47.921390Z 01O /builds/Rdatatable/data.table/src/fastmean.c:99:21: note: Assuming 'i' is < 'l' 2026-10-30T04:23:47.921391Z 01O 99 | for (int i=0; i= 'nlhs' 2026-10-30T04:23:47.921456Z 01O 14 | for (int i=0; i= 'nlhs' 2026-10-30T04:23:47.921627Z 01O 14 | for (int i=0; i= 'nlhs' 2026-10-30T04:23:47.921688Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-10-30T04:23:47.922446Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.922454Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-10-30T04:23:47.922455Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-10-30T04:23:47.922456Z 01O | ^ 2026-10-30T04:23:47.922456Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.922457Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.922457Z 01O | ^ 2026-10-30T04:23:47.922504Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-10-30T04:23:47.922505Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-10-30T04:23:47.922506Z 01O | ^ 2026-10-30T04:23:47.922506Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.922507Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.922507Z 01O | ^ 2026-10-30T04:23:47.922508Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-10-30T04:23:47.922509Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-10-30T04:23:47.922509Z 01O | ^ 2026-10-30T04:23:47.922510Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.922511Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.922511Z 01O | ^ 2026-10-30T04:23:47.922512Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-10-30T04:23:47.922512Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-10-30T04:23:47.922513Z 01O | ^ 2026-10-30T04:23:47.922513Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-10-30T04:23:47.922514Z 01O 228 | for (int i=0; i= 'ncol' 2026-10-30T04:23:47.922518Z 01O 234 | for (int i=0; i= 'nidx' 2026-10-30T04:23:47.922568Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-10-30T04:23:47.922618Z 01O | ^~~~ 2026-10-30T04:23:47.922619Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-10-30T04:23:47.922620Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-10-30T04:23:47.922620Z 01O | ^ 2026-10-30T04:23:47.922621Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-10-30T04:23:47.922621Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-10-30T04:23:47.922645Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-10-30T04:23:47.923190Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-10-30T04:23:47.923363Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923373Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-10-30T04:23:47.923374Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-10-30T04:23:47.923375Z 01O | ^ 2026-10-30T04:23:47.923375Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-10-30T04:23:47.923376Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-10-30T04:23:47.923377Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923378Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-10-30T04:23:47.923378Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-10-30T04:23:47.923379Z 01O | ^ 2026-10-30T04:23:47.923379Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-10-30T04:23:47.923380Z 01O 326 | if (new_marks != marks) { 2026-10-30T04:23:47.923381Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923381Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-10-30T04:23:47.923382Z 01O 326 | if (new_marks != marks) { 2026-10-30T04:23:47.923382Z 01O | ^ 2026-10-30T04:23:47.923383Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-10-30T04:23:47.923384Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-10-30T04:23:47.923384Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923385Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-10-30T04:23:47.923386Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-10-30T04:23:47.923386Z 01O | ^ 2026-10-30T04:23:47.923398Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-10-30T04:23:47.923399Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-10-30T04:23:47.923400Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.923401Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-10-30T04:23:47.923402Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-10-30T04:23:47.923403Z 01O | ^ 2026-10-30T04:23:47.923444Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-10-30T04:23:47.923445Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-10-30T04:23:47.923446Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.923446Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-10-30T04:23:47.923447Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-10-30T04:23:47.923448Z 01O | ^ 2026-10-30T04:23:47.923449Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-10-30T04:23:47.923449Z 01O 338 | if (!anynotascii) 2026-10-30T04:23:47.923450Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.923450Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-10-30T04:23:47.923458Z 01O 338 | if (!anynotascii) 2026-10-30T04:23:47.923459Z 01O | ^ 2026-10-30T04:23:47.923477Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-10-30T04:23:47.923478Z 01O 340 | if (!IS_UTF8(s)) 2026-10-30T04:23:47.923479Z 01O | ^ 2026-10-30T04:23:47.923479Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-10-30T04:23:47.923480Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-10-30T04:23:47.923481Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923481Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-10-30T04:23:47.923482Z 01O 925 | #define getCharCE Rf_getCharCE 2026-10-30T04:23:47.923483Z 01O | ^ 2026-10-30T04:23:47.923483Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-10-30T04:23:47.923484Z 01O 340 | if (!IS_UTF8(s)) 2026-10-30T04:23:47.923485Z 01O | ^ 2026-10-30T04:23:47.923485Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-10-30T04:23:47.923486Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-10-30T04:23:47.923542Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-10-30T04:23:47.923559Z 01O 364 | for (int i=0; i> 2026-10-30T04:23:47.923848Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923849Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-10-30T04:23:47.923850Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923850Z 01O 43 | 2026-10-30T04:23:47.923851Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-10-30T04:23:47.923852Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923852Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-10-30T04:23:47.923853Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923854Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-10-30T04:23:47.923854Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923855Z 01O 47 | 2026-10-30T04:23:47.923855Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-10-30T04:23:47.923856Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923857Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-10-30T04:23:47.923858Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923858Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-10-30T04:23:47.923859Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923860Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-10-30T04:23:47.923861Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923861Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-10-30T04:23:47.923873Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923874Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-10-30T04:23:47.923875Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923875Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-10-30T04:23:47.923876Z 01O 1410 | if (freadCleanup()) { 2026-10-30T04:23:47.923877Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.923877Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-10-30T04:23:47.923878Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-30T04:23:47.923879Z 01O | ^~~~ 2026-10-30T04:23:47.923879Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-10-30T04:23:47.923880Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-10-30T04:23:47.923881Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-30T04:23:47.923882Z 01O | ^~~~~~~ 2026-10-30T04:23:47.923890Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-10-30T04:23:47.923891Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-30T04:23:47.923892Z 01O | ^ 2026-10-30T04:23:47.923892Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-10-30T04:23:47.923893Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-30T04:23:47.923894Z 01O | ^~~~ 2026-10-30T04:23:47.923895Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-10-30T04:23:47.923895Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-30T04:23:47.923896Z 01O | ^ 2026-10-30T04:23:47.923896Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-10-30T04:23:47.923897Z 01O 169 | if (mmp != NULL) { 2026-10-30T04:23:47.923898Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.923898Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-10-30T04:23:47.923899Z 01O 169 | if (mmp != NULL) { 2026-10-30T04:23:47.923900Z 01O | ^ 2026-10-30T04:23:47.923900Z 01O /builds/Rdatatable/data.table/src/fread.c:193:15: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-10-30T04:23:47.923901Z 01O 193 | quoteRule = -1; 2026-10-30T04:23:47.923902Z 01O | ^~ 2026-10-30T04:23:47.923902Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2026-10-30T04:23:47.923903Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-10-30T04:23:47.923904Z 01O | ^ ~~ 2026-10-30T04:23:47.923905Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-10-30T04:23:47.923905Z 01O 1410 | if (freadCleanup()) { 2026-10-30T04:23:47.923906Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.923913Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-10-30T04:23:47.923913Z 01O 1410 | if (freadCleanup()) { 2026-10-30T04:23:47.923914Z 01O | ^ 2026-10-30T04:23:47.923918Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.923919Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-10-30T04:23:47.923926Z 01O | ^~~~~~~ 2026-10-30T04:23:47.923927Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-10-30T04:23:47.923928Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-10-30T04:23:47.923928Z 01O | ^ 2026-10-30T04:23:47.923929Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-10-30T04:23:47.923929Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-10-30T04:23:47.923930Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.923935Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-10-30T04:23:47.923935Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-10-30T04:23:47.923936Z 01O | ^ 2026-10-30T04:23:47.923937Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-10-30T04:23:47.923937Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-10-30T04:23:47.923938Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.923938Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-10-30T04:23:47.923939Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-10-30T04:23:47.923940Z 01O | ^ 2026-10-30T04:23:47.923940Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-10-30T04:23:47.923941Z 01O 1420 | if (nth <= 0) nth = 1; 2026-10-30T04:23:47.923941Z 01O | ^~~ 2026-10-30T04:23:47.923942Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-10-30T04:23:47.923943Z 01O 1420 | if (nth <= 0) nth = 1; 2026-10-30T04:23:47.923943Z 01O | ^ 2026-10-30T04:23:47.923951Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-10-30T04:23:47.923952Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-10-30T04:23:47.923953Z 01O | ^~~~~~~ 2026-10-30T04:23:47.923953Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-10-30T04:23:47.923954Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-10-30T04:23:47.923955Z 01O | ^ 2026-10-30T04:23:47.923959Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-10-30T04:23:47.923960Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-10-30T04:23:47.923961Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.923962Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-10-30T04:23:47.923963Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-10-30T04:23:47.923964Z 01O | ^ 2026-10-30T04:23:47.924005Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-10-30T04:23:47.924006Z 01O 1436 | while (*nastr) { 2026-10-30T04:23:47.924007Z 01O | ^ 2026-10-30T04:23:47.924007Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-10-30T04:23:47.924008Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-10-30T04:23:47.924009Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924013Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-10-30T04:23:47.924014Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-10-30T04:23:47.924014Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924015Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-10-30T04:23:47.924016Z 01O 1464 | if (verbose) { 2026-10-30T04:23:47.924016Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924019Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-10-30T04:23:47.924026Z 01O 1464 | if (verbose) { 2026-10-30T04:23:47.924027Z 01O | ^ 2026-10-30T04:23:47.924031Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-10-30T04:23:47.924032Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-10-30T04:23:47.924033Z 01O | ^ 2026-10-30T04:23:47.924033Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-10-30T04:23:47.924034Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-10-30T04:23:47.924035Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924062Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-10-30T04:23:47.924063Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-10-30T04:23:47.924064Z 01O | ^ 2026-10-30T04:23:47.924065Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-10-30T04:23:47.924065Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-10-30T04:23:47.924066Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924067Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-10-30T04:23:47.924068Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-10-30T04:23:47.924068Z 01O | ^ 2026-10-30T04:23:47.924069Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-10-30T04:23:47.924070Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-10-30T04:23:47.924071Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.924071Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-10-30T04:23:47.924072Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-10-30T04:23:47.924073Z 01O | ^ 2026-10-30T04:23:47.924073Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-10-30T04:23:47.924074Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-10-30T04:23:47.924075Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924079Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-10-30T04:23:47.924080Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-10-30T04:23:47.924081Z 01O | ^ 2026-10-30T04:23:47.924081Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-10-30T04:23:47.924082Z 01O 1515 | if (args.input) { 2026-10-30T04:23:47.924082Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.924083Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-10-30T04:23:47.924084Z 01O 1515 | if (args.input) { 2026-10-30T04:23:47.924084Z 01O | ^ 2026-10-30T04:23:47.924098Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-10-30T04:23:47.924099Z 01O 1522 | else if (args.filename) { 2026-10-30T04:23:47.924100Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.924100Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-10-30T04:23:47.924101Z 01O 1522 | else if (args.filename) { 2026-10-30T04:23:47.924102Z 01O | ^ 2026-10-30T04:23:47.924102Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-10-30T04:23:47.924103Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-10-30T04:23:47.924104Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924104Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-10-30T04:23:47.924111Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-10-30T04:23:47.924112Z 01O | ^ 2026-10-30T04:23:47.924126Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-10-30T04:23:47.924127Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-10-30T04:23:47.924128Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924129Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-10-30T04:23:47.924129Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-10-30T04:23:47.924130Z 01O | ^~~~~~ 2026-10-30T04:23:47.924130Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-10-30T04:23:47.924131Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-10-30T04:23:47.924132Z 01O | ^ 2026-10-30T04:23:47.924132Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-10-30T04:23:47.924133Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-10-30T04:23:47.924134Z 01O | ^ ~~ 2026-10-30T04:23:47.924137Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.924138Z 01O 1780 | pos = ch; 2026-10-30T04:23:47.924139Z 01O | ^ ~~ 2026-10-30T04:23:47.924139Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-10-30T04:23:47.924140Z 01O 1780 | pos = ch; 2026-10-30T04:23:47.924140Z 01O | ^ ~~ 2026-10-30T04:23:47.924148Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: warning: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' [clang-analyzer-optin.core.EnumCastOutOfRange] 2026-10-30T04:23:47.924149Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-10-30T04:23:47.924150Z 01O | ^~ 2026-10-30T04:23:47.924235Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-10-30T04:23:47.924236Z 01O 38 | enum quote_rule_t 2026-10-30T04:23:47.924236Z 01O | ~~~~~^~~~~~~~~~~~ 2026-10-30T04:23:47.924237Z 01O 39 | { 2026-10-30T04:23:47.924237Z 01O | ~ 2026-10-30T04:23:47.924238Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-10-30T04:23:47.924238Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924239Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-10-30T04:23:47.924240Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924241Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-10-30T04:23:47.924241Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924242Z 01O 43 | 2026-10-30T04:23:47.924242Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-10-30T04:23:47.924243Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924244Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-10-30T04:23:47.924245Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924245Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-10-30T04:23:47.924246Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924247Z 01O 47 | 2026-10-30T04:23:47.924247Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-10-30T04:23:47.924248Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924249Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-10-30T04:23:47.924260Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924261Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-10-30T04:23:47.924262Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924263Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-10-30T04:23:47.924263Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924264Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-10-30T04:23:47.924265Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924266Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-10-30T04:23:47.924266Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924267Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-10-30T04:23:47.924268Z 01O 1410 | if (freadCleanup()) { 2026-10-30T04:23:47.924269Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.924269Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-10-30T04:23:47.924270Z 01O 1410 | if (freadCleanup()) { 2026-10-30T04:23:47.924270Z 01O | ^ 2026-10-30T04:23:47.924271Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.924272Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-10-30T04:23:47.924272Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924273Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-10-30T04:23:47.924273Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-10-30T04:23:47.924274Z 01O | ^ 2026-10-30T04:23:47.924275Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-10-30T04:23:47.924275Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-10-30T04:23:47.924276Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.924277Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-10-30T04:23:47.924277Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-10-30T04:23:47.924278Z 01O | ^ 2026-10-30T04:23:47.924287Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-10-30T04:23:47.924287Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-10-30T04:23:47.924288Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.924289Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-10-30T04:23:47.924289Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-10-30T04:23:47.924290Z 01O | ^ 2026-10-30T04:23:47.924290Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-10-30T04:23:47.924291Z 01O 1420 | if (nth <= 0) nth = 1; 2026-10-30T04:23:47.924292Z 01O | ^~~ 2026-10-30T04:23:47.924292Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-10-30T04:23:47.924293Z 01O 1420 | if (nth <= 0) nth = 1; 2026-10-30T04:23:47.924293Z 01O | ^ 2026-10-30T04:23:47.924298Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-10-30T04:23:47.924299Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-10-30T04:23:47.924300Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924300Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-10-30T04:23:47.924301Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-10-30T04:23:47.924302Z 01O | ^ 2026-10-30T04:23:47.924311Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-10-30T04:23:47.924318Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-10-30T04:23:47.924319Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924325Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-10-30T04:23:47.924325Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-10-30T04:23:47.924326Z 01O | ^ 2026-10-30T04:23:47.924327Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-10-30T04:23:47.924328Z 01O 1436 | while (*nastr) { 2026-10-30T04:23:47.924328Z 01O | ^ 2026-10-30T04:23:47.924329Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-10-30T04:23:47.924330Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-10-30T04:23:47.924330Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924346Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-10-30T04:23:47.924347Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-10-30T04:23:47.924348Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924349Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-10-30T04:23:47.924349Z 01O 1464 | if (verbose) { 2026-10-30T04:23:47.924350Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924350Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-10-30T04:23:47.924351Z 01O 1464 | if (verbose) { 2026-10-30T04:23:47.924352Z 01O | ^ 2026-10-30T04:23:47.924352Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-10-30T04:23:47.924353Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-10-30T04:23:47.924354Z 01O | ^ 2026-10-30T04:23:47.924354Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-10-30T04:23:47.924355Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-10-30T04:23:47.924356Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924357Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-10-30T04:23:47.924357Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-10-30T04:23:47.924358Z 01O | ^ 2026-10-30T04:23:47.924372Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-10-30T04:23:47.924373Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-10-30T04:23:47.924374Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924374Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-10-30T04:23:47.924375Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-10-30T04:23:47.924376Z 01O | ^ 2026-10-30T04:23:47.924414Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-10-30T04:23:47.924415Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-10-30T04:23:47.924416Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.924416Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-10-30T04:23:47.924417Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-10-30T04:23:47.924423Z 01O | ^ 2026-10-30T04:23:47.924423Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-10-30T04:23:47.924430Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-10-30T04:23:47.924431Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924432Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-10-30T04:23:47.924432Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-10-30T04:23:47.924433Z 01O | ^ 2026-10-30T04:23:47.924437Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-10-30T04:23:47.924438Z 01O 1515 | if (args.input) { 2026-10-30T04:23:47.924438Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.924439Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-10-30T04:23:47.924439Z 01O 1515 | if (args.input) { 2026-10-30T04:23:47.924440Z 01O | ^ 2026-10-30T04:23:47.924453Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-10-30T04:23:47.924454Z 01O 1522 | else if (args.filename) { 2026-10-30T04:23:47.924454Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.924455Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-10-30T04:23:47.924456Z 01O 1522 | else if (args.filename) { 2026-10-30T04:23:47.924456Z 01O | ^ 2026-10-30T04:23:47.924457Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-10-30T04:23:47.924457Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-10-30T04:23:47.924458Z 01O | ^ 2026-10-30T04:23:47.924493Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-10-30T04:23:47.924494Z 01O 18 | #define INTERNAL_STOP(...) do {snprintf(internal_error_buff, sizeof(internal_error_buff), __VA_ARGS__); halt__(0, "%s %s: %s. %s", _("Internal error in"), __func__, internal_error_buff, _("Please report to the data.table issues tracker"));} while (0) 2026-10-30T04:23:47.924496Z 01O | ^ 2026-10-30T04:23:47.924496Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-10-30T04:23:47.924497Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-10-30T04:23:47.924498Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924498Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-10-30T04:23:47.924499Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-10-30T04:23:47.924499Z 01O | ^ 2026-10-30T04:23:47.924500Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-10-30T04:23:47.924501Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-10-30T04:23:47.924501Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.924502Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-10-30T04:23:47.924503Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-10-30T04:23:47.924503Z 01O | ^ 2026-10-30T04:23:47.924504Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-10-30T04:23:47.924505Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-10-30T04:23:47.924505Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.924522Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-10-30T04:23:47.924523Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-10-30T04:23:47.924523Z 01O | ^ 2026-10-30T04:23:47.924524Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-10-30T04:23:47.924525Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-10-30T04:23:47.924526Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.924539Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-10-30T04:23:47.924540Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-10-30T04:23:47.924541Z 01O | ^ 2026-10-30T04:23:47.924542Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-10-30T04:23:47.924543Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-10-30T04:23:47.924543Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.924544Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-10-30T04:23:47.924545Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-10-30T04:23:47.924545Z 01O | ^ 2026-10-30T04:23:47.924575Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-10-30T04:23:47.924576Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-10-30T04:23:47.924577Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.924578Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-10-30T04:23:47.924578Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-10-30T04:23:47.924579Z 01O | ^ 2026-10-30T04:23:47.924627Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-10-30T04:23:47.924628Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-10-30T04:23:47.924629Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924629Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-10-30T04:23:47.924630Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-10-30T04:23:47.924631Z 01O | ^ 2026-10-30T04:23:47.924631Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-10-30T04:23:47.924632Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-10-30T04:23:47.924633Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924634Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-10-30T04:23:47.924634Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-10-30T04:23:47.924635Z 01O | ^ 2026-10-30T04:23:47.924636Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-10-30T04:23:47.924637Z 01O 1649 | while (ch < sample_end) { 2026-10-30T04:23:47.924637Z 01O | ^ 2026-10-30T04:23:47.924638Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-10-30T04:23:47.924638Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-10-30T04:23:47.924639Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924653Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-10-30T04:23:47.924654Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-10-30T04:23:47.924654Z 01O | ^ 2026-10-30T04:23:47.924655Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-10-30T04:23:47.924656Z 01O 1674 | if (args.filename) { 2026-10-30T04:23:47.924656Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.924657Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-10-30T04:23:47.924657Z 01O 1674 | if (args.filename) { 2026-10-30T04:23:47.924658Z 01O | ^ 2026-10-30T04:23:47.924661Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-10-30T04:23:47.924662Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-10-30T04:23:47.924670Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924671Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-10-30T04:23:47.924671Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-10-30T04:23:47.924672Z 01O | ^ 2026-10-30T04:23:47.924677Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-10-30T04:23:47.924678Z 01O 1752 | if (args.skipString) { 2026-10-30T04:23:47.924678Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924679Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-10-30T04:23:47.924679Z 01O 1752 | if (args.skipString) { 2026-10-30T04:23:47.924680Z 01O | ^ 2026-10-30T04:23:47.924720Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-10-30T04:23:47.924721Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-10-30T04:23:47.924722Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924723Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-10-30T04:23:47.924723Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-10-30T04:23:47.924724Z 01O | ^ 2026-10-30T04:23:47.924728Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-10-30T04:23:47.924729Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-10-30T04:23:47.924730Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.924731Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-10-30T04:23:47.924731Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-10-30T04:23:47.924732Z 01O | ^ 2026-10-30T04:23:47.924733Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-10-30T04:23:47.924734Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-10-30T04:23:47.924735Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.924762Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-10-30T04:23:47.924762Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-10-30T04:23:47.924763Z 01O | ^ 2026-10-30T04:23:47.924764Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-10-30T04:23:47.924765Z 01O 1789 | if (verbose) { 2026-10-30T04:23:47.924765Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924766Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-10-30T04:23:47.924767Z 01O 1789 | if (verbose) { 2026-10-30T04:23:47.924767Z 01O | ^ 2026-10-30T04:23:47.924771Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-10-30T04:23:47.924772Z 01O 1807 | int jumpLines = nrowLimit == 0 ? 100 : (int)umin(100, nrowLimit); // how many lines from each jump point to use. If nrows>0 is supplied, nJumps is later set to 1. #4029 2026-10-30T04:23:47.924773Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.924774Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-10-30T04:23:47.924775Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-10-30T04:23:47.924776Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-10-30T04:23:47.924776Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924810Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-10-30T04:23:47.924811Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-10-30T04:23:47.924822Z 01O | ^ 2026-10-30T04:23:47.924822Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-10-30T04:23:47.924823Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-10-30T04:23:47.924824Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924825Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-10-30T04:23:47.924825Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-10-30T04:23:47.924826Z 01O | ^ 2026-10-30T04:23:47.924827Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-10-30T04:23:47.924827Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-10-30T04:23:47.924828Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924837Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-10-30T04:23:47.924838Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-10-30T04:23:47.924838Z 01O | ^ 2026-10-30T04:23:47.924839Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-10-30T04:23:47.924840Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-10-30T04:23:47.924841Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.924841Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-10-30T04:23:47.924879Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-10-30T04:23:47.924880Z 01O 1836 | if (args.sep == '\0') { 2026-10-30T04:23:47.924880Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924881Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-10-30T04:23:47.924881Z 01O 1836 | if (args.sep == '\0') { 2026-10-30T04:23:47.924882Z 01O | ^ 2026-10-30T04:23:47.924883Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-10-30T04:23:47.924883Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-10-30T04:23:47.924884Z 01O | ^~~~~~~ 2026-10-30T04:23:47.924885Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-10-30T04:23:47.924885Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-10-30T04:23:47.924886Z 01O | ^ 2026-10-30T04:23:47.924886Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-10-30T04:23:47.924888Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-10-30T04:23:47.924888Z 01O | ^~ 2026-10-30T04:23:47.924889Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.924890Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-10-30T04:23:47.924891Z 01O | ^~~~~~~~~~~~~ ~~ 2026-10-30T04:23:47.924898Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-10-30T04:23:47.924899Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-10-30T04:23:47.924899Z 01O | ^~~~~~~~~~~~~ ~~ 2026-10-30T04:23:47.924900Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.924901Z 01O 2278 | estnrow = 1; 2026-10-30T04:23:47.924902Z 01O | ^ ~ 2026-10-30T04:23:47.924909Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-10-30T04:23:47.924910Z 01O 2278 | estnrow = 1; 2026-10-30T04:23:47.924911Z 01O | ^ ~ 2026-10-30T04:23:47.924919Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.924920Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-10-30T04:23:47.924921Z 01O | ^ ~ 2026-10-30T04:23:47.924921Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-10-30T04:23:47.924922Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-10-30T04:23:47.924923Z 01O | ^ ~ 2026-10-30T04:23:47.924924Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.924925Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-10-30T04:23:47.924925Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924926Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-10-30T04:23:47.924927Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-10-30T04:23:47.924927Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924928Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.924929Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-10-30T04:23:47.924929Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924962Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-10-30T04:23:47.924963Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-10-30T04:23:47.924964Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924967Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.924968Z 01O 2487 | nth = imin(nJumps, nth); 2026-10-30T04:23:47.924969Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924970Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-10-30T04:23:47.924970Z 01O 2487 | nth = imin(nJumps, nth); 2026-10-30T04:23:47.924971Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.924999Z 01O /builds/Rdatatable/data.table/src/fread.c:2747:21: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-10-30T04:23:47.925001Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-10-30T04:23:47.925002Z 01O | ^~~~~~ 2026-10-30T04:23:47.925003Z 01O /builds/Rdatatable/data.table/src/fread.c:2747:21: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-10-30T04:23:47.925004Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-10-30T04:23:47.925005Z 01O | ^~~~~~ 2026-10-30T04:23:47.925011Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.925012Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-10-30T04:23:47.925013Z 01O | ^ ~~~ 2026-10-30T04:23:47.925014Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: note: Value stored to 'tLast' is never read 2026-10-30T04:23:47.925022Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-10-30T04:23:47.925023Z 01O | ^ ~~~ 2026-10-30T04:23:47.925033Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: warning: Array access (via field 'buffer') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.925035Z 01O 789 | if (state->buffer[i] == '\n') { 2026-10-30T04:23:47.925035Z 01O | ^ ~~~~~~ 2026-10-30T04:23:47.925036Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-10-30T04:23:47.925037Z 01O 768 | if (state->outfile == NULL) { 2026-10-30T04:23:47.925037Z 01O | ^ 2026-10-30T04:23:47.925038Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-10-30T04:23:47.925039Z 01O 768 | if (state->outfile == NULL) { 2026-10-30T04:23:47.925039Z 01O | ^ 2026-10-30T04:23:47.925040Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-10-30T04:23:47.925040Z 01O 772 | state->buffer = malloc(chunk_size); 2026-10-30T04:23:47.925041Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925042Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-10-30T04:23:47.925042Z 01O 773 | if (!state->buffer) { 2026-10-30T04:23:47.925043Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.925043Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-10-30T04:23:47.925044Z 01O 773 | if (!state->buffer) { 2026-10-30T04:23:47.925045Z 01O | ^ 2026-10-30T04:23:47.925058Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-10-30T04:23:47.925059Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-10-30T04:23:47.925059Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925060Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.925061Z 01O 780 | while (true) { 2026-10-30T04:23:47.925062Z 01O | ^ 2026-10-30T04:23:47.925062Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-10-30T04:23:47.925063Z 01O 782 | if (nread == 0) { 2026-10-30T04:23:47.925063Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.925106Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-10-30T04:23:47.925107Z 01O 782 | if (nread == 0) { 2026-10-30T04:23:47.925107Z 01O | ^ 2026-10-30T04:23:47.925108Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-10-30T04:23:47.925109Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-30T04:23:47.925109Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.925110Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-10-30T04:23:47.925111Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-10-30T04:23:47.925112Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-30T04:23:47.925112Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.925117Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-10-30T04:23:47.925117Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-30T04:23:47.925118Z 01O | ^ 2026-10-30T04:23:47.925119Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-10-30T04:23:47.925119Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-10-30T04:23:47.925120Z 01O | ^ 2026-10-30T04:23:47.925121Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.925128Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-10-30T04:23:47.925129Z 01O | ^ 2026-10-30T04:23:47.925129Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-10-30T04:23:47.925130Z 01O 789 | if (state->buffer[i] == '\n') { 2026-10-30T04:23:47.925131Z 01O | ^ ~~~~~~ 2026-10-30T04:23:47.925145Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-10-30T04:23:47.925147Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-10-30T04:23:47.925148Z 01O | ^ ~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925148Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-10-30T04:23:47.925149Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-10-30T04:23:47.925150Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925151Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-10-30T04:23:47.925151Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-10-30T04:23:47.925152Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925153Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-10-30T04:23:47.925153Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-10-30T04:23:47.925154Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925155Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-10-30T04:23:47.925155Z 01O 768 | if (state->outfile == NULL) { 2026-10-30T04:23:47.925156Z 01O | ^ 2026-10-30T04:23:47.925156Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-10-30T04:23:47.925157Z 01O 768 | if (state->outfile == NULL) { 2026-10-30T04:23:47.925158Z 01O | ^ 2026-10-30T04:23:47.925158Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-10-30T04:23:47.925159Z 01O 773 | if (!state->buffer) { 2026-10-30T04:23:47.925160Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.925166Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-10-30T04:23:47.925167Z 01O 773 | if (!state->buffer) { 2026-10-30T04:23:47.925167Z 01O | ^ 2026-10-30T04:23:47.925172Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-10-30T04:23:47.925172Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-10-30T04:23:47.925173Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925174Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.925175Z 01O 780 | while (true) { 2026-10-30T04:23:47.925175Z 01O | ^ 2026-10-30T04:23:47.925176Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-10-30T04:23:47.925176Z 01O 782 | if (nread == 0) { 2026-10-30T04:23:47.925177Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.925177Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-10-30T04:23:47.925178Z 01O 782 | if (nread == 0) { 2026-10-30T04:23:47.925179Z 01O | ^ 2026-10-30T04:23:47.925213Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-10-30T04:23:47.925214Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-30T04:23:47.925215Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.925215Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-10-30T04:23:47.925223Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-30T04:23:47.925224Z 01O | ^ 2026-10-30T04:23:47.925224Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-10-30T04:23:47.925225Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-10-30T04:23:47.925226Z 01O | ^ ~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925231Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: The 1st argument to 'fwrite' is NULL but should not be NULL [clang-analyzer-unix.StdCLibraryFunctions] 2026-10-30T04:23:47.925232Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-10-30T04:23:47.925233Z 01O | ^ ~~~~~~~~~~~~~ 2026-10-30T04:23:47.925234Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-10-30T04:23:47.925235Z 01O 768 | if (state->outfile == NULL) { 2026-10-30T04:23:47.925235Z 01O | ^ 2026-10-30T04:23:47.925236Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-10-30T04:23:47.925236Z 01O 768 | if (state->outfile == NULL) { 2026-10-30T04:23:47.925237Z 01O | ^ 2026-10-30T04:23:47.925242Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-10-30T04:23:47.925243Z 01O 772 | state->buffer = malloc(chunk_size); 2026-10-30T04:23:47.925243Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925244Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-10-30T04:23:47.925245Z 01O 773 | if (!state->buffer) { 2026-10-30T04:23:47.925245Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.925246Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-10-30T04:23:47.925246Z 01O 773 | if (!state->buffer) { 2026-10-30T04:23:47.925247Z 01O | ^ 2026-10-30T04:23:47.925247Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-10-30T04:23:47.925248Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-10-30T04:23:47.925249Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.925249Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.925250Z 01O 780 | while (true) { 2026-10-30T04:23:47.925251Z 01O | ^ 2026-10-30T04:23:47.925259Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-10-30T04:23:47.925260Z 01O 782 | if (nread == 0) { 2026-10-30T04:23:47.925260Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.925261Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-10-30T04:23:47.925262Z 01O 782 | if (nread == 0) { 2026-10-30T04:23:47.925262Z 01O | ^ 2026-10-30T04:23:47.925263Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-10-30T04:23:47.925263Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-30T04:23:47.925264Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.925264Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-10-30T04:23:47.925265Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-30T04:23:47.925266Z 01O | ^ 2026-10-30T04:23:47.925266Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-10-30T04:23:47.925267Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-10-30T04:23:47.925268Z 01O | ^ ~~~~~~~~~~~~~ 2026-10-30T04:23:47.925510Z 01O /builds/Rdatatable/data.table/src/froll.c:1364:3: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-10-30T04:23:47.925521Z 01O 1364 | next[p] = tail; 2026-10-30T04:23:47.925521Z 01O | ^ 2026-10-30T04:23:47.925522Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.925523Z 01O 1506 | if (verbose) 2026-10-30T04:23:47.925523Z 01O | ^~~~~~~ 2026-10-30T04:23:47.925524Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-10-30T04:23:47.925525Z 01O 1506 | if (verbose) 2026-10-30T04:23:47.925525Z 01O | ^ 2026-10-30T04:23:47.925525Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-10-30T04:23:47.925526Z 01O 1508 | if (k == 0) { 2026-10-30T04:23:47.925527Z 01O | ^~~~~~ 2026-10-30T04:23:47.925527Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-10-30T04:23:47.925528Z 01O 1508 | if (k == 0) { 2026-10-30T04:23:47.925528Z 01O | ^ 2026-10-30T04:23:47.925529Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-10-30T04:23:47.925530Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.925531Z 01O | ^~~~~~ 2026-10-30T04:23:47.925531Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-10-30T04:23:47.925532Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-10-30T04:23:47.925533Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.925534Z 01O | ^~~~~~ 2026-10-30T04:23:47.925534Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-10-30T04:23:47.925535Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.925536Z 01O | ^ 2026-10-30T04:23:47.925536Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-10-30T04:23:47.925537Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.925537Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.925538Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-10-30T04:23:47.925539Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.925539Z 01O | ^ 2026-10-30T04:23:47.925540Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-10-30T04:23:47.925540Z 01O 1567 | if (nx_mod_k) { 2026-10-30T04:23:47.925541Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.925541Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-10-30T04:23:47.925542Z 01O 1567 | if (nx_mod_k) { 2026-10-30T04:23:47.925543Z 01O | ^ 2026-10-30T04:23:47.925543Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-10-30T04:23:47.925544Z 01O 1574 | bool even = !(k % 2); 2026-10-30T04:23:47.925544Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.925545Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-10-30T04:23:47.925546Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-10-30T04:23:47.925546Z 01O | ^~~~ 2026-10-30T04:23:47.925547Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-10-30T04:23:47.925547Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-10-30T04:23:47.925548Z 01O 1579 | if (!o) { // # nocov start 2026-10-30T04:23:47.925549Z 01O | ^~ 2026-10-30T04:23:47.925549Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-10-30T04:23:47.925550Z 01O 1579 | if (!o) { // # nocov start 2026-10-30T04:23:47.925557Z 01O | ^ 2026-10-30T04:23:47.925557Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-10-30T04:23:47.925558Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-30T04:23:47.925559Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.925559Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-10-30T04:23:47.925560Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-30T04:23:47.925561Z 01O | ^ 2026-10-30T04:23:47.925561Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-10-30T04:23:47.925562Z 01O 1588 | if (!m) { // # nocov start 2026-10-30T04:23:47.925563Z 01O | ^~ 2026-10-30T04:23:47.925563Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-10-30T04:23:47.925564Z 01O 1588 | if (!m) { // # nocov start 2026-10-30T04:23:47.925564Z 01O | ^ 2026-10-30T04:23:47.925565Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-10-30T04:23:47.925565Z 01O 1594 | if (!n) { // # nocov start 2026-10-30T04:23:47.925566Z 01O | ^~ 2026-10-30T04:23:47.925566Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-10-30T04:23:47.925567Z 01O 1594 | if (!n) { // # nocov start 2026-10-30T04:23:47.925568Z 01O | ^ 2026-10-30T04:23:47.925568Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-10-30T04:23:47.925569Z 01O 1600 | if (!s) { // # nocov start 2026-10-30T04:23:47.925569Z 01O | ^~ 2026-10-30T04:23:47.925570Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-10-30T04:23:47.925571Z 01O 1600 | if (!s) { // # nocov start 2026-10-30T04:23:47.925571Z 01O | ^ 2026-10-30T04:23:47.925572Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-10-30T04:23:47.925572Z 01O 1606 | if (!prev) { // # nocov start 2026-10-30T04:23:47.925573Z 01O | ^~~~~ 2026-10-30T04:23:47.925573Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-10-30T04:23:47.925574Z 01O 1606 | if (!prev) { // # nocov start 2026-10-30T04:23:47.925575Z 01O | ^ 2026-10-30T04:23:47.925594Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-10-30T04:23:47.925595Z 01O 1612 | if (!next) { // # nocov start 2026-10-30T04:23:47.925596Z 01O | ^~~~~ 2026-10-30T04:23:47.925596Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-10-30T04:23:47.925604Z 01O 1612 | if (!next) { // # nocov start 2026-10-30T04:23:47.925604Z 01O | ^ 2026-10-30T04:23:47.925605Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-10-30T04:23:47.925606Z 01O 1618 | if (verbose) 2026-10-30T04:23:47.925606Z 01O | ^~~~~~~ 2026-10-30T04:23:47.925607Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-10-30T04:23:47.925607Z 01O 1618 | if (verbose) 2026-10-30T04:23:47.925608Z 01O | ^ 2026-10-30T04:23:47.925611Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-10-30T04:23:47.925612Z 01O 1621 | for (int j=0; j= 'k' 2026-10-30T04:23:47.925649Z 01O 1358 | for (int i=0; i=0) { 2026-10-30T04:23:47.925727Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.925727Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-10-30T04:23:47.925728Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.925728Z 01O | ^ 2026-10-30T04:23:47.925731Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-10-30T04:23:47.925732Z 01O 1567 | if (nx_mod_k) { 2026-10-30T04:23:47.925733Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.925733Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-10-30T04:23:47.925734Z 01O 1567 | if (nx_mod_k) { 2026-10-30T04:23:47.925734Z 01O | ^ 2026-10-30T04:23:47.925761Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-10-30T04:23:47.925762Z 01O 1574 | bool even = !(k % 2); 2026-10-30T04:23:47.925762Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.925763Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-10-30T04:23:47.925764Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-10-30T04:23:47.925764Z 01O | ^~~~ 2026-10-30T04:23:47.925765Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-10-30T04:23:47.925765Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-10-30T04:23:47.925766Z 01O 1579 | if (!o) { // # nocov start 2026-10-30T04:23:47.925767Z 01O | ^~ 2026-10-30T04:23:47.925767Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-10-30T04:23:47.925768Z 01O 1579 | if (!o) { // # nocov start 2026-10-30T04:23:47.925769Z 01O | ^ 2026-10-30T04:23:47.925769Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-10-30T04:23:47.925770Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-30T04:23:47.925771Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.925771Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-10-30T04:23:47.925772Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-30T04:23:47.925773Z 01O | ^ 2026-10-30T04:23:47.925773Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-10-30T04:23:47.925774Z 01O 1588 | if (!m) { // # nocov start 2026-10-30T04:23:47.925774Z 01O | ^~ 2026-10-30T04:23:47.925775Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-10-30T04:23:47.925775Z 01O 1588 | if (!m) { // # nocov start 2026-10-30T04:23:47.925776Z 01O | ^ 2026-10-30T04:23:47.925781Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-10-30T04:23:47.925782Z 01O 1594 | if (!n) { // # nocov start 2026-10-30T04:23:47.925782Z 01O | ^~ 2026-10-30T04:23:47.925783Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-10-30T04:23:47.925784Z 01O 1594 | if (!n) { // # nocov start 2026-10-30T04:23:47.925784Z 01O | ^ 2026-10-30T04:23:47.925784Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-10-30T04:23:47.925785Z 01O 1600 | if (!s) { // # nocov start 2026-10-30T04:23:47.925786Z 01O | ^~ 2026-10-30T04:23:47.925786Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-10-30T04:23:47.925793Z 01O 1600 | if (!s) { // # nocov start 2026-10-30T04:23:47.925794Z 01O | ^ 2026-10-30T04:23:47.925794Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-10-30T04:23:47.925795Z 01O 1606 | if (!prev) { // # nocov start 2026-10-30T04:23:47.925795Z 01O | ^~~~~ 2026-10-30T04:23:47.925796Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-10-30T04:23:47.925796Z 01O 1606 | if (!prev) { // # nocov start 2026-10-30T04:23:47.925797Z 01O | ^ 2026-10-30T04:23:47.925832Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-10-30T04:23:47.925833Z 01O 1612 | if (!next) { // # nocov start 2026-10-30T04:23:47.925834Z 01O | ^~~~~ 2026-10-30T04:23:47.925834Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-10-30T04:23:47.925835Z 01O 1612 | if (!next) { // # nocov start 2026-10-30T04:23:47.925835Z 01O | ^ 2026-10-30T04:23:47.925836Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-10-30T04:23:47.925837Z 01O 1618 | if (verbose) 2026-10-30T04:23:47.925837Z 01O | ^~~~~~~ 2026-10-30T04:23:47.925838Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-10-30T04:23:47.925839Z 01O 1618 | if (verbose) 2026-10-30T04:23:47.925839Z 01O | ^ 2026-10-30T04:23:47.925842Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-10-30T04:23:47.925842Z 01O 1621 | for (int j=0; j= 'b' 2026-10-30T04:23:47.925902Z 01O 1621 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2026-10-30T04:23:47.925932Z 01O | ^~~ 2026-10-30T04:23:47.925933Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-10-30T04:23:47.925933Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.925933Z 01O 1633 | for (int i=0; i= 'm' 2026-10-30T04:23:47.926168Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-10-30T04:23:47.926169Z 01O | ^~~~~ 2026-10-30T04:23:47.926170Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-10-30T04:23:47.926171Z 01O 1393 | if (SMALL(i)) { 2026-10-30T04:23:47.926171Z 01O | ^ 2026-10-30T04:23:47.926172Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-10-30T04:23:47.926172Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-10-30T04:23:47.926173Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.926174Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-10-30T04:23:47.926174Z 01O 1393 | if (SMALL(i)) { 2026-10-30T04:23:47.926175Z 01O | ^ 2026-10-30T04:23:47.926175Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-10-30T04:23:47.926176Z 01O 1396 | if (m[0] == i) { 2026-10-30T04:23:47.926177Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.926196Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-10-30T04:23:47.926202Z 01O 1396 | if (m[0] == i) { 2026-10-30T04:23:47.926203Z 01O | ^ 2026-10-30T04:23:47.926203Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-10-30T04:23:47.926204Z 01O 1399 | if (s[0] > 0) { 2026-10-30T04:23:47.926205Z 01O | ^ 2026-10-30T04:23:47.926205Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-10-30T04:23:47.926212Z 01O 1400 | m[0] = prev[m[0]]; 2026-10-30T04:23:47.926213Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.926218Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-10-30T04:23:47.926219Z 01O 1471 | m[0] = prev[m[0]]; 2026-10-30T04:23:47.926219Z 01O | ^ 2026-10-30T04:23:47.926220Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.926221Z 01O 1506 | if (verbose) 2026-10-30T04:23:47.926221Z 01O | ^~~~~~~ 2026-10-30T04:23:47.926222Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-10-30T04:23:47.926222Z 01O 1506 | if (verbose) 2026-10-30T04:23:47.926223Z 01O | ^ 2026-10-30T04:23:47.926223Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-10-30T04:23:47.926224Z 01O 1508 | if (k == 0) { 2026-10-30T04:23:47.926224Z 01O | ^~~~~~ 2026-10-30T04:23:47.926225Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-10-30T04:23:47.926226Z 01O 1508 | if (k == 0) { 2026-10-30T04:23:47.926226Z 01O | ^ 2026-10-30T04:23:47.926229Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-10-30T04:23:47.926230Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.926231Z 01O | ^~~~~~ 2026-10-30T04:23:47.926232Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-10-30T04:23:47.926233Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-10-30T04:23:47.926233Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.926234Z 01O | ^~~~~~ 2026-10-30T04:23:47.926248Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-10-30T04:23:47.926249Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.926250Z 01O | ^ 2026-10-30T04:23:47.926250Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-10-30T04:23:47.926251Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.926251Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.926252Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-10-30T04:23:47.926253Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.926253Z 01O | ^ 2026-10-30T04:23:47.926254Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-10-30T04:23:47.926254Z 01O 1567 | if (nx_mod_k) { 2026-10-30T04:23:47.926255Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.926255Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-10-30T04:23:47.926256Z 01O 1567 | if (nx_mod_k) { 2026-10-30T04:23:47.926257Z 01O | ^ 2026-10-30T04:23:47.926257Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-10-30T04:23:47.926258Z 01O 1574 | bool even = !(k % 2); 2026-10-30T04:23:47.926258Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.926259Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-10-30T04:23:47.926259Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-10-30T04:23:47.926260Z 01O | ^~~~ 2026-10-30T04:23:47.926261Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-10-30T04:23:47.926261Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-10-30T04:23:47.926262Z 01O 1579 | if (!o) { // # nocov start 2026-10-30T04:23:47.926263Z 01O | ^~ 2026-10-30T04:23:47.926269Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-10-30T04:23:47.926270Z 01O 1579 | if (!o) { // # nocov start 2026-10-30T04:23:47.926270Z 01O | ^ 2026-10-30T04:23:47.926274Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-10-30T04:23:47.926275Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-30T04:23:47.926275Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.926276Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-10-30T04:23:47.926277Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-30T04:23:47.926277Z 01O | ^ 2026-10-30T04:23:47.926278Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-10-30T04:23:47.926279Z 01O 1588 | if (!m) { // # nocov start 2026-10-30T04:23:47.926279Z 01O | ^~ 2026-10-30T04:23:47.926282Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-10-30T04:23:47.926282Z 01O 1588 | if (!m) { // # nocov start 2026-10-30T04:23:47.926283Z 01O | ^ 2026-10-30T04:23:47.926283Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-10-30T04:23:47.926284Z 01O 1594 | if (!n) { // # nocov start 2026-10-30T04:23:47.926285Z 01O | ^~ 2026-10-30T04:23:47.926288Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-10-30T04:23:47.926288Z 01O 1594 | if (!n) { // # nocov start 2026-10-30T04:23:47.926289Z 01O | ^ 2026-10-30T04:23:47.926289Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-10-30T04:23:47.926290Z 01O 1600 | if (!s) { // # nocov start 2026-10-30T04:23:47.926291Z 01O | ^~ 2026-10-30T04:23:47.926291Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-10-30T04:23:47.926292Z 01O 1600 | if (!s) { // # nocov start 2026-10-30T04:23:47.926293Z 01O | ^ 2026-10-30T04:23:47.926295Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-10-30T04:23:47.926296Z 01O 1606 | if (!prev) { // # nocov start 2026-10-30T04:23:47.926297Z 01O | ^~~~~ 2026-10-30T04:23:47.926297Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-10-30T04:23:47.926298Z 01O 1606 | if (!prev) { // # nocov start 2026-10-30T04:23:47.926299Z 01O | ^ 2026-10-30T04:23:47.926317Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-10-30T04:23:47.926324Z 01O 1612 | if (!next) { // # nocov start 2026-10-30T04:23:47.926324Z 01O | ^~~~~ 2026-10-30T04:23:47.926325Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-10-30T04:23:47.926325Z 01O 1612 | if (!next) { // # nocov start 2026-10-30T04:23:47.926326Z 01O | ^ 2026-10-30T04:23:47.926326Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-10-30T04:23:47.926327Z 01O 1618 | if (verbose) 2026-10-30T04:23:47.926327Z 01O | ^~~~~~~ 2026-10-30T04:23:47.926328Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-10-30T04:23:47.926329Z 01O 1618 | if (verbose) 2026-10-30T04:23:47.926329Z 01O | ^ 2026-10-30T04:23:47.926332Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-10-30T04:23:47.926333Z 01O 1621 | for (int j=0; j= 'b' 2026-10-30T04:23:47.926416Z 01O 1621 | for (int j=0; j= 'm' 2026-10-30T04:23:47.926657Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-10-30T04:23:47.926658Z 01O | ^~~~~ 2026-10-30T04:23:47.926659Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-10-30T04:23:47.926659Z 01O 1460 | if (SMALL(i)) { 2026-10-30T04:23:47.926660Z 01O | ^ 2026-10-30T04:23:47.926665Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-10-30T04:23:47.926673Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-10-30T04:23:47.926674Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.926674Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-10-30T04:23:47.926675Z 01O 1460 | if (SMALL(i)) { 2026-10-30T04:23:47.926675Z 01O | ^ 2026-10-30T04:23:47.926676Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-10-30T04:23:47.926677Z 01O 1463 | if (m[0] == i) { 2026-10-30T04:23:47.926677Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.926678Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-10-30T04:23:47.926678Z 01O 1463 | if (m[0] == i) { 2026-10-30T04:23:47.926679Z 01O | ^ 2026-10-30T04:23:47.926679Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-10-30T04:23:47.926680Z 01O 1467 | } else if (even && n[0] == i) { 2026-10-30T04:23:47.926681Z 01O | ^~~~ 2026-10-30T04:23:47.926681Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-10-30T04:23:47.926724Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-10-30T04:23:47.926725Z 01O 1467 | } else if (even && n[0] == i) { 2026-10-30T04:23:47.926725Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.926726Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-10-30T04:23:47.926726Z 01O 1467 | } else if (even && n[0] == i) { 2026-10-30T04:23:47.926727Z 01O | ^ 2026-10-30T04:23:47.926728Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-10-30T04:23:47.926728Z 01O 1470 | if (s[0] > 0) { 2026-10-30T04:23:47.926729Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.926729Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-10-30T04:23:47.926730Z 01O 1470 | if (s[0] > 0) { 2026-10-30T04:23:47.926731Z 01O | ^ 2026-10-30T04:23:47.926731Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-10-30T04:23:47.926732Z 01O 1471 | m[0] = prev[m[0]]; 2026-10-30T04:23:47.926732Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.926733Z 01O /builds/Rdatatable/data.table/src/froll.c:1578:12: warning: Call to 'malloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-10-30T04:23:47.926734Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-10-30T04:23:47.926735Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.926735Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.926736Z 01O 1506 | if (verbose) 2026-10-30T04:23:47.926737Z 01O | ^~~~~~~ 2026-10-30T04:23:47.926737Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-10-30T04:23:47.926738Z 01O 1506 | if (verbose) 2026-10-30T04:23:47.926738Z 01O | ^ 2026-10-30T04:23:47.926739Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-10-30T04:23:47.926740Z 01O 1508 | if (k == 0) { 2026-10-30T04:23:47.926740Z 01O | ^~~~~~ 2026-10-30T04:23:47.926741Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-10-30T04:23:47.926741Z 01O 1508 | if (k == 0) { 2026-10-30T04:23:47.926742Z 01O | ^ 2026-10-30T04:23:47.926748Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-10-30T04:23:47.926748Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.926749Z 01O | ^~~~~~ 2026-10-30T04:23:47.926750Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-10-30T04:23:47.926761Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-10-30T04:23:47.926762Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.926762Z 01O | ^~~~~~ 2026-10-30T04:23:47.926763Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-10-30T04:23:47.926764Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-10-30T04:23:47.926765Z 01O | ^ 2026-10-30T04:23:47.926765Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-10-30T04:23:47.926766Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.926766Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.926767Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-10-30T04:23:47.926767Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.926768Z 01O | ^ 2026-10-30T04:23:47.926787Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-10-30T04:23:47.926794Z 01O 1549 | for (uint64_t i=0; i= 0 2026-10-30T04:23:47.926873Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.926873Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.926874Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-10-30T04:23:47.926874Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.926875Z 01O | ^ 2026-10-30T04:23:47.926875Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-10-30T04:23:47.926876Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-10-30T04:23:47.926932Z 01O 1549 | for (uint64_t i=0; i= 0 2026-10-30T04:23:47.927336Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.927337Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.927337Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-10-30T04:23:47.927338Z 01O 1548 | if (hasnf>=0) { 2026-10-30T04:23:47.927338Z 01O | ^ 2026-10-30T04:23:47.927339Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-10-30T04:23:47.927339Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-10-30T04:23:47.927386Z 01O 1549 | for (uint64_t i=0; i 0 2026-10-30T04:23:47.927755Z 01O 541 | bool truehasnf = hasnf>0; 2026-10-30T04:23:47.927755Z 01O | ^~~~~~~ 2026-10-30T04:23:47.927756Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-10-30T04:23:47.927757Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-10-30T04:23:47.927769Z 01O 542 | for (uint64_t i=0; i 0 2026-10-30T04:23:47.927922Z 01O 616 | bool truehasnf = hasnf>0; 2026-10-30T04:23:47.927922Z 01O | ^~~~~~~ 2026-10-30T04:23:47.927923Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-10-30T04:23:47.927924Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-10-30T04:23:47.927970Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-10-30T04:23:47.928101Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-10-30T04:23:47.928244Z 01O | ^ 2026-10-30T04:23:47.928244Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-10-30T04:23:47.928245Z 01O 888 | if (i+1 == ik) { 2026-10-30T04:23:47.928245Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.928246Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-10-30T04:23:47.928247Z 01O 888 | if (i+1 == ik) { 2026-10-30T04:23:47.928247Z 01O | ^ 2026-10-30T04:23:47.928248Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-10-30T04:23:47.928248Z 01O 890 | } else if (i+1 < ik) { 2026-10-30T04:23:47.928249Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.928275Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-10-30T04:23:47.928276Z 01O 890 | } else if (i+1 < ik) { 2026-10-30T04:23:47.928277Z 01O | ^ 2026-10-30T04:23:47.928277Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:893:25: note: Assuming index is non-negative and less than 1, the number of 'int' elements in the heap area 2026-10-30T04:23:47.928279Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-10-30T04:23:47.928279Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.928280Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-10-30T04:23:47.928281Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-10-30T04:23:47.928281Z 01O | ^ 2026-10-30T04:23:47.928282Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-10-30T04:23:47.928283Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-10-30T04:23:47.928283Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.928284Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-10-30T04:23:47.928285Z 01O 998 | if (!nc) { // total NA for x 2026-10-30T04:23:47.928285Z 01O | ^~ 2026-10-30T04:23:47.928286Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-10-30T04:23:47.928287Z 01O 998 | if (!nc) { // total NA for x 2026-10-30T04:23:47.928287Z 01O | ^ 2026-10-30T04:23:47.928288Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.928289Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-10-30T04:23:47.928584Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-10-30T04:23:47.928720Z 01O | ^~~~~~~ 2026-10-30T04:23:47.928721Z 01O /builds/Rdatatable/data.table/src/gsumm.c:93:15: note: '?' condition is true 2026-10-30T04:23:47.928721Z 01O 93 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-10-30T04:23:47.928722Z 01O | ^ 2026-10-30T04:23:47.928722Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-10-30T04:23:47.928732Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-10-30T04:23:47.928732Z 01O | ^ 2026-10-30T04:23:47.928749Z 01O /builds/Rdatatable/data.table/src/gsumm.c:98:7: note: 'nBatch' is >= 1 2026-10-30T04:23:47.928750Z 01O 98 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-30T04:23:47.928751Z 01O | ^~~~~~ 2026-10-30T04:23:47.928751Z 01O /builds/Rdatatable/data.table/src/gsumm.c:98:7: note: Left side of '||' is false 2026-10-30T04:23:47.928754Z 01O /builds/Rdatatable/data.table/src/gsumm.c:98:19: note: 'batchSize' is >= 1 2026-10-30T04:23:47.928755Z 01O 98 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-30T04:23:47.928756Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.928764Z 01O /builds/Rdatatable/data.table/src/gsumm.c:98:7: note: Left side of '||' is false 2026-10-30T04:23:47.928765Z 01O 98 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-30T04:23:47.928766Z 01O | ^ 2026-10-30T04:23:47.928766Z 01O /builds/Rdatatable/data.table/src/gsumm.c:98:34: note: Assuming 'lastBatchSize' is >= 1 2026-10-30T04:23:47.928788Z 01O 98 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-30T04:23:47.928789Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.928795Z 01O /builds/Rdatatable/data.table/src/gsumm.c:98:3: note: Taking false branch 2026-10-30T04:23:47.928796Z 01O 98 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-30T04:23:47.928796Z 01O | ^ 2026-10-30T04:23:47.928797Z 01O /builds/Rdatatable/data.table/src/gsumm.c:104:17: note: Assuming 'g' is >= 'ngrp' 2026-10-30T04:23:47.928798Z 01O 104 | for (int g=0; g(b))?(a):(b)) 2026-10-30T04:23:47.928843Z 01O | ^~~~~~~ 2026-10-30T04:23:47.928844Z 01O /builds/Rdatatable/data.table/src/gsumm.c:121:20: note: '?' condition is false 2026-10-30T04:23:47.928844Z 01O 121 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-10-30T04:23:47.928845Z 01O | ^ 2026-10-30T04:23:47.928846Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-10-30T04:23:47.928854Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-10-30T04:23:47.928854Z 01O | ^ 2026-10-30T04:23:47.928859Z 01O /builds/Rdatatable/data.table/src/gsumm.c:126:9: note: Assuming 'counts' is non-null 2026-10-30T04:23:47.928860Z 01O 126 | if (!counts || !TMP ) { 2026-10-30T04:23:47.928860Z 01O | ^~~~~~~ 2026-10-30T04:23:47.928861Z 01O /builds/Rdatatable/data.table/src/gsumm.c:126:9: note: Left side of '||' is false 2026-10-30T04:23:47.928861Z 01O /builds/Rdatatable/data.table/src/gsumm.c:126:20: note: Assuming 'TMP' is non-null 2026-10-30T04:23:47.928862Z 01O 126 | if (!counts || !TMP ) { 2026-10-30T04:23:47.928863Z 01O | ^~~~ 2026-10-30T04:23:47.928865Z 01O /builds/Rdatatable/data.table/src/gsumm.c:126:5: note: Taking false branch 2026-10-30T04:23:47.928866Z 01O 126 | if (!counts || !TMP ) { 2026-10-30T04:23:47.928867Z 01O | ^ 2026-10-30T04:23:47.928878Z 01O /builds/Rdatatable/data.table/src/gsumm.c:131:19: note: Assuming 'b' is < 'nBatch' 2026-10-30T04:23:47.928879Z 01O 131 | for (int b=0; b= 'howMany' 2026-10-30T04:23:47.928908Z 01O 135 | for (int i=0; i= 'highSize' 2026-10-30T04:23:47.928935Z 01O 139 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-10-30T04:23:47.929077Z 01O | ^ 2026-10-30T04:23:47.929078Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-10-30T04:23:47.929078Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-10-30T04:23:47.929079Z 01O | ^ ~ 2026-10-30T04:23:47.929080Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-10-30T04:23:47.929080Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-10-30T04:23:47.929081Z 01O | ^ ~ 2026-10-30T04:23:47.929082Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Assuming the condition is true 2026-10-30T04:23:47.929082Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929083Z 01O | ^ 2026-10-30T04:23:47.929089Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929090Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929091Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929092Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Left side of '&&' is true 2026-10-30T04:23:47.929093Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929099Z 01O | ^ 2026-10-30T04:23:47.929119Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929120Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929121Z 01O | ^ 2026-10-30T04:23:47.929122Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Assuming the condition is true 2026-10-30T04:23:47.929123Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929123Z 01O | ^ 2026-10-30T04:23:47.929124Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929124Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929125Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.929126Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Left side of '&&' is true 2026-10-30T04:23:47.929127Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929127Z 01O | ^ 2026-10-30T04:23:47.929135Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929142Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929143Z 01O | ^ 2026-10-30T04:23:47.929149Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Assuming the condition is true 2026-10-30T04:23:47.929150Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929151Z 01O | ^ 2026-10-30T04:23:47.929151Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929152Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929153Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929154Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:3: note: Taking false branch 2026-10-30T04:23:47.929154Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929155Z 01O | ^ 2026-10-30T04:23:47.929155Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1185:7: note: Assuming the condition is false 2026-10-30T04:23:47.929156Z 01O 1185 | if (!isVectorAtomic(x)) 2026-10-30T04:23:47.929157Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929157Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1185:3: note: Taking false branch 2026-10-30T04:23:47.929158Z 01O 1185 | if (!isVectorAtomic(x)) 2026-10-30T04:23:47.929158Z 01O | ^ 2026-10-30T04:23:47.929175Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1187:7: note: Assuming the condition is false 2026-10-30T04:23:47.929176Z 01O 1187 | if (inherits(x, "factor")) 2026-10-30T04:23:47.929176Z 01O | ^ 2026-10-30T04:23:47.929177Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-10-30T04:23:47.929178Z 01O 933 | #define inherits Rf_inherits 2026-10-30T04:23:47.929178Z 01O | ^ 2026-10-30T04:23:47.929179Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1187:3: note: Taking false branch 2026-10-30T04:23:47.929179Z 01O 1187 | if (inherits(x, "factor")) 2026-10-30T04:23:47.929180Z 01O | ^ 2026-10-30T04:23:47.929186Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1189:25: note: Assuming the condition is false 2026-10-30T04:23:47.929187Z 01O 1189 | const bool nosubset = irowslen==-1; 2026-10-30T04:23:47.929187Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.929188Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1190:17: note: 'nosubset' is false 2026-10-30T04:23:47.929189Z 01O 1190 | const int n = nosubset ? length(x) : irowslen; 2026-10-30T04:23:47.929189Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.929190Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1190:17: note: '?' condition is false 2026-10-30T04:23:47.929191Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1192:7: note: Assuming 'nrow' is equal to 'n' 2026-10-30T04:23:47.929192Z 01O 1192 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-10-30T04:23:47.929193Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.929219Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1192:3: note: Taking false branch 2026-10-30T04:23:47.929219Z 01O 1192 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-10-30T04:23:47.929220Z 01O | ^ 2026-10-30T04:23:47.929221Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1193:20: note: Storing uninitialized value 2026-10-30T04:23:47.929222Z 01O 1193 | long double *s = malloc(sizeof(*s) * ngrp); 2026-10-30T04:23:47.929222Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929223Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1194:7: note: Assuming 's' is non-null 2026-10-30T04:23:47.929224Z 01O 1194 | if (!s) 2026-10-30T04:23:47.929224Z 01O | ^~ 2026-10-30T04:23:47.929225Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1194:3: note: Taking false branch 2026-10-30T04:23:47.929231Z 01O 1194 | if (!s) 2026-10-30T04:23:47.929232Z 01O | ^ 2026-10-30T04:23:47.929232Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1196:17: note: Assuming 'i' is >= 'ngrp' 2026-10-30T04:23:47.929233Z 01O 1196 | for (int i=0; i= 'n' 2026-10-30T04:23:47.929238Z 01O 1200 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-10-30T04:23:47.929302Z 01O | ^ 2026-10-30T04:23:47.929303Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-10-30T04:23:47.929304Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-10-30T04:23:47.929304Z 01O | ^ ~ 2026-10-30T04:23:47.929322Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-10-30T04:23:47.929323Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-10-30T04:23:47.929324Z 01O | ^ ~ 2026-10-30T04:23:47.929324Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1248:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-10-30T04:23:47.929325Z 01O 1248 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-10-30T04:23:47.929326Z 01O | ~~~~ ^ 2026-10-30T04:23:47.929329Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Assuming the condition is true 2026-10-30T04:23:47.929336Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929336Z 01O | ^ 2026-10-30T04:23:47.929360Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929361Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929362Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929363Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Left side of '&&' is true 2026-10-30T04:23:47.929363Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929364Z 01O | ^ 2026-10-30T04:23:47.929371Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929372Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929373Z 01O | ^ 2026-10-30T04:23:47.929374Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Assuming the condition is true 2026-10-30T04:23:47.929375Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929375Z 01O | ^ 2026-10-30T04:23:47.929376Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929376Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929377Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.929378Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Left side of '&&' is true 2026-10-30T04:23:47.929379Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929379Z 01O | ^ 2026-10-30T04:23:47.929403Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929404Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929405Z 01O | ^ 2026-10-30T04:23:47.929406Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:8: note: Assuming the condition is true 2026-10-30T04:23:47.929406Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929407Z 01O | ^ 2026-10-30T04:23:47.929407Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929408Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929409Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929410Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1182:3: note: Taking false branch 2026-10-30T04:23:47.929411Z 01O 1182 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-30T04:23:47.929411Z 01O | ^ 2026-10-30T04:23:47.929415Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1185:7: note: Assuming the condition is false 2026-10-30T04:23:47.929416Z 01O 1185 | if (!isVectorAtomic(x)) 2026-10-30T04:23:47.929417Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929417Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1185:3: note: Taking false branch 2026-10-30T04:23:47.929423Z 01O 1185 | if (!isVectorAtomic(x)) 2026-10-30T04:23:47.929423Z 01O | ^ 2026-10-30T04:23:47.929424Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1187:7: note: Assuming the condition is false 2026-10-30T04:23:47.929424Z 01O 1187 | if (inherits(x, "factor")) 2026-10-30T04:23:47.929425Z 01O | ^ 2026-10-30T04:23:47.929505Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-10-30T04:23:47.929506Z 01O 933 | #define inherits Rf_inherits 2026-10-30T04:23:47.929515Z 01O | ^ 2026-10-30T04:23:47.929515Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1187:3: note: Taking false branch 2026-10-30T04:23:47.929516Z 01O 1187 | if (inherits(x, "factor")) 2026-10-30T04:23:47.929517Z 01O | ^ 2026-10-30T04:23:47.929517Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1189:25: note: Assuming the condition is false 2026-10-30T04:23:47.929518Z 01O 1189 | const bool nosubset = irowslen==-1; 2026-10-30T04:23:47.929519Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.929519Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1190:17: note: 'nosubset' is false 2026-10-30T04:23:47.929520Z 01O 1190 | const int n = nosubset ? length(x) : irowslen; 2026-10-30T04:23:47.929521Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.929521Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1190:17: note: '?' condition is false 2026-10-30T04:23:47.929522Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1192:7: note: Assuming 'nrow' is equal to 'n' 2026-10-30T04:23:47.929523Z 01O 1192 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-10-30T04:23:47.929523Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.929524Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1192:3: note: Taking false branch 2026-10-30T04:23:47.929525Z 01O 1192 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-10-30T04:23:47.929526Z 01O | ^ 2026-10-30T04:23:47.929526Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1193:20: note: Storing uninitialized value 2026-10-30T04:23:47.929527Z 01O 1193 | long double *s = malloc(sizeof(*s) * ngrp); 2026-10-30T04:23:47.929527Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929528Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1194:7: note: Assuming 's' is non-null 2026-10-30T04:23:47.929529Z 01O 1194 | if (!s) 2026-10-30T04:23:47.929529Z 01O | ^~ 2026-10-30T04:23:47.929530Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1194:3: note: Taking false branch 2026-10-30T04:23:47.929531Z 01O 1194 | if (!s) 2026-10-30T04:23:47.929531Z 01O | ^ 2026-10-30T04:23:47.929532Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1196:17: note: Assuming 'i' is >= 'ngrp' 2026-10-30T04:23:47.929532Z 01O 1196 | for (int i=0; i= 'n' 2026-10-30T04:23:47.929564Z 01O 1200 | for (int i=0; i' is a garbage value 2026-10-30T04:23:47.929594Z 01O 1248 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-10-30T04:23:47.929595Z 01O | ~~~~ ^ 2026-10-30T04:23:47.929620Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: warning: Right shift by '64' overflows the capacity of 'size_t' [clang-analyzer-core.BitwiseShift] 2026-10-30T04:23:47.929621Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-10-30T04:23:47.929622Z 01O | ^ 2026-10-30T04:23:47.929623Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-10-30T04:23:47.929624Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-10-30T04:23:47.929624Z 01O | ^ 2026-10-30T04:23:47.929625Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-10-30T04:23:47.929625Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-10-30T04:23:47.929626Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.929627Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-10-30T04:23:47.929627Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-10-30T04:23:47.929628Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929629Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-10-30T04:23:47.929629Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-10-30T04:23:47.929630Z 01O | ^ 2026-10-30T04:23:47.929634Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-10-30T04:23:47.929635Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-10-30T04:23:47.929636Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929637Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-10-30T04:23:47.929637Z 01O 54 | if (!ret) 2026-10-30T04:23:47.929638Z 01O | ^~~~ 2026-10-30T04:23:47.929638Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-10-30T04:23:47.929639Z 01O 54 | if (!ret) 2026-10-30T04:23:47.929639Z 01O | ^ 2026-10-30T04:23:47.929640Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-10-30T04:23:47.929640Z 01O 59 | if (!table) { 2026-10-30T04:23:47.929641Z 01O | ^~~~~~ 2026-10-30T04:23:47.929643Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-10-30T04:23:47.929644Z 01O 59 | if (!table) { 2026-10-30T04:23:47.929644Z 01O | ^ 2026-10-30T04:23:47.929648Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-10-30T04:23:47.929648Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-10-30T04:23:47.929649Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929650Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-10-30T04:23:47.929657Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-10-30T04:23:47.929658Z 01O | ^ 2026-10-30T04:23:47.929658Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-10-30T04:23:47.929659Z 01O 71 | ret->shift = HASH_BITS - k; 2026-10-30T04:23:47.929660Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929664Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-10-30T04:23:47.929665Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-10-30T04:23:47.929666Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929666Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-10-30T04:23:47.929667Z 01O 133 | if (!new_h) return NULL; 2026-10-30T04:23:47.929668Z 01O | ^~~~~ 2026-10-30T04:23:47.929668Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-10-30T04:23:47.929669Z 01O 133 | if (!new_h) return NULL; 2026-10-30T04:23:47.929669Z 01O | ^ 2026-10-30T04:23:47.929670Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-10-30T04:23:47.929670Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-10-30T04:23:47.929671Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.929710Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.929711Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-10-30T04:23:47.929711Z 01O | ^ 2026-10-30T04:23:47.929712Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-10-30T04:23:47.929712Z 01O 138 | if (h->table[i].key) 2026-10-30T04:23:47.929713Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929713Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-10-30T04:23:47.929714Z 01O 138 | if (h->table[i].key) 2026-10-30T04:23:47.929715Z 01O | ^ 2026-10-30T04:23:47.929730Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-10-30T04:23:47.929731Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-10-30T04:23:47.929732Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929733Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-10-30T04:23:47.929733Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-10-30T04:23:47.929734Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.929735Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-10-30T04:23:47.929735Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-10-30T04:23:47.929736Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929737Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-10-30T04:23:47.929743Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-10-30T04:23:47.929743Z 01O | ^ 2026-10-30T04:23:47.929744Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-10-30T04:23:47.929745Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-10-30T04:23:47.929746Z 01O | ^ 2026-10-30T04:23:47.929746Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: note: The result of right shift is undefined because the right operand '64' is not smaller than 64, the capacity of 'size_t' 2026-10-30T04:23:47.929747Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-10-30T04:23:47.929748Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-10-30T04:23:47.929770Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.929781Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-10-30T04:23:47.929781Z 01O | ^ 2026-10-30T04:23:47.929782Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2026-10-30T04:23:47.929783Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.929784Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-10-30T04:23:47.929785Z 01O | ^ 2026-10-30T04:23:47.929786Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2026-10-30T04:23:47.929808Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.929809Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-10-30T04:23:47.929810Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929810Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-10-30T04:23:47.929811Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-10-30T04:23:47.929812Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929859Z 01O /builds/Rdatatable/data.table/src/nafill.c:11:19: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.929860Z 01O 11 | if (ISNAN(x[i])) { 2026-10-30T04:23:47.929861Z 01O | ^ 2026-10-30T04:23:47.929861Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.929862Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.929862Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.929863Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.929864Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.929864Z 01O | ^ 2026-10-30T04:23:47.929865Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.929865Z 01O 187 | if (verbose) 2026-10-30T04:23:47.929866Z 01O | ^~~~~~~ 2026-10-30T04:23:47.929866Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.929867Z 01O 187 | if (verbose) 2026-10-30T04:23:47.929868Z 01O | ^ 2026-10-30T04:23:47.929895Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.929896Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.929897Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929897Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.929898Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.929899Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.929900Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929916Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.929925Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.929926Z 01O | ^ 2026-10-30T04:23:47.929927Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.929927Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.929928Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929929Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.929929Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.929930Z 01O | ^ 2026-10-30T04:23:47.929937Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929938Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929946Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.929946Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.929947Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.929948Z 01O | ^ 2026-10-30T04:23:47.929966Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929967Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929968Z 01O | ^ 2026-10-30T04:23:47.929969Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.929970Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.929970Z 01O | ^ 2026-10-30T04:23:47.929987Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929994Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929995Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.929995Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.929996Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.929997Z 01O | ^ 2026-10-30T04:23:47.929997Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.929998Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.929999Z 01O | ^ 2026-10-30T04:23:47.929999Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.930000Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930001Z 01O | ^ 2026-10-30T04:23:47.930001Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930002Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930003Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930004Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.930005Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930005Z 01O | ^ 2026-10-30T04:23:47.930006Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.930006Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.930007Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.930007Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.930016Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.930017Z 01O | ^ 2026-10-30T04:23:47.930033Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.930034Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.930035Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930057Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.930058Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.930059Z 01O | ^ 2026-10-30T04:23:47.930059Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.930060Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.930109Z 01O 231 | for (R_len_t i=0; i= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.930369Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930370Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.930371Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.930371Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.930372Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930373Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.930374Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.930375Z 01O | ^ 2026-10-30T04:23:47.930376Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.930376Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.930377Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930377Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.930378Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930379Z 01O | ^ 2026-10-30T04:23:47.930385Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930386Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930386Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930387Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.930393Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930394Z 01O | ^ 2026-10-30T04:23:47.930400Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930401Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930402Z 01O | ^ 2026-10-30T04:23:47.930402Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.930403Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930404Z 01O | ^ 2026-10-30T04:23:47.930434Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930435Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930435Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.930462Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.930463Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930463Z 01O | ^ 2026-10-30T04:23:47.930464Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930464Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930465Z 01O | ^ 2026-10-30T04:23:47.930466Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.930467Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930467Z 01O | ^ 2026-10-30T04:23:47.930496Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930497Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930497Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930498Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.930499Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930499Z 01O | ^ 2026-10-30T04:23:47.930500Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.930501Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.930501Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.930502Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.930502Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.930503Z 01O | ^ 2026-10-30T04:23:47.930503Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.930504Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.930505Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930505Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.930506Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.930506Z 01O | ^ 2026-10-30T04:23:47.930507Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.930508Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.930586Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-10-30T04:23:47.930773Z 01O | ^ 2026-10-30T04:23:47.930774Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.930774Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.930775Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.930775Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.930776Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.930777Z 01O | ^ 2026-10-30T04:23:47.930777Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.930791Z 01O 187 | if (verbose) 2026-10-30T04:23:47.930792Z 01O | ^~~~~~~ 2026-10-30T04:23:47.930793Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.930793Z 01O 187 | if (verbose) 2026-10-30T04:23:47.930794Z 01O | ^ 2026-10-30T04:23:47.930802Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.930803Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.930804Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930804Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.930805Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.930806Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.930807Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930837Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.930837Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.930838Z 01O | ^ 2026-10-30T04:23:47.930839Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.930840Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.930840Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930841Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.930842Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930842Z 01O | ^ 2026-10-30T04:23:47.930843Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930843Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930844Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930845Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.930845Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930846Z 01O | ^ 2026-10-30T04:23:47.930866Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930867Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930868Z 01O | ^ 2026-10-30T04:23:47.930869Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.930870Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930870Z 01O | ^ 2026-10-30T04:23:47.930871Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930872Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930872Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.930873Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.930874Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930875Z 01O | ^ 2026-10-30T04:23:47.930875Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930881Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930889Z 01O | ^ 2026-10-30T04:23:47.930889Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.930890Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930891Z 01O | ^ 2026-10-30T04:23:47.930909Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.930910Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.930911Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930912Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.930913Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.930913Z 01O | ^ 2026-10-30T04:23:47.930914Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.930914Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.930915Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.930915Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.930916Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.930917Z 01O | ^ 2026-10-30T04:23:47.930920Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.930920Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.930921Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.930932Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.930932Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.930933Z 01O | ^ 2026-10-30T04:23:47.930933Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.930934Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.931005Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-10-30T04:23:47.931243Z 01O | ^ 2026-10-30T04:23:47.931243Z 01O /builds/Rdatatable/data.table/src/nafill.c:35:16: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.931245Z 01O 35 | if (ISNA(x[0]) && limit>0) { ans->dbl_v[0] = fill; fills = 1; } 2026-10-30T04:23:47.931245Z 01O | ^ 2026-10-30T04:23:47.931250Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.931250Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.931251Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.931252Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.931252Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.931253Z 01O | ^ 2026-10-30T04:23:47.931253Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.931254Z 01O 187 | if (verbose) 2026-10-30T04:23:47.931254Z 01O | ^~~~~~~ 2026-10-30T04:23:47.931255Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.931256Z 01O 187 | if (verbose) 2026-10-30T04:23:47.931256Z 01O | ^ 2026-10-30T04:23:47.931309Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.931311Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.931312Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931312Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.931332Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.931333Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.931335Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931339Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.931340Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.931341Z 01O | ^ 2026-10-30T04:23:47.931341Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.931342Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.931343Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931361Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.931361Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931362Z 01O | ^ 2026-10-30T04:23:47.931366Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931367Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931367Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931372Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.931372Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931373Z 01O | ^ 2026-10-30T04:23:47.931374Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931375Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931381Z 01O | ^ 2026-10-30T04:23:47.931385Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.931385Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931386Z 01O | ^ 2026-10-30T04:23:47.931387Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931387Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931388Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.931406Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.931407Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931408Z 01O | ^ 2026-10-30T04:23:47.931408Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931409Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931410Z 01O | ^ 2026-10-30T04:23:47.931410Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.931411Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931412Z 01O | ^ 2026-10-30T04:23:47.931417Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931417Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931422Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931434Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.931434Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931435Z 01O | ^ 2026-10-30T04:23:47.931435Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.931436Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.931437Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.931439Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.931440Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.931441Z 01O | ^ 2026-10-30T04:23:47.931444Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.931445Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.931446Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931447Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.931447Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.931448Z 01O | ^ 2026-10-30T04:23:47.931466Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.931466Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.931524Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-10-30T04:23:47.931748Z 01O | ^ 2026-10-30T04:23:47.931753Z 01O /builds/Rdatatable/data.table/src/nafill.c:46:17: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.931754Z 01O 46 | if (ISNAN(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-10-30T04:23:47.931755Z 01O | ^ 2026-10-30T04:23:47.931755Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.931756Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.931757Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.931757Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.931758Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.931758Z 01O | ^ 2026-10-30T04:23:47.931759Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.931759Z 01O 187 | if (verbose) 2026-10-30T04:23:47.931760Z 01O | ^~~~~~~ 2026-10-30T04:23:47.931762Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.931763Z 01O 187 | if (verbose) 2026-10-30T04:23:47.931764Z 01O | ^ 2026-10-30T04:23:47.931771Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.931772Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.931773Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931774Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.931799Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.931800Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.931801Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931805Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.931806Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.931807Z 01O | ^ 2026-10-30T04:23:47.931817Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.931818Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.931818Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931822Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.931823Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931823Z 01O | ^ 2026-10-30T04:23:47.931843Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931850Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931850Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931851Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.931852Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931853Z 01O | ^ 2026-10-30T04:23:47.931853Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931854Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931855Z 01O | ^ 2026-10-30T04:23:47.931859Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.931860Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931860Z 01O | ^ 2026-10-30T04:23:47.931861Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931861Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931862Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.931880Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.931881Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931882Z 01O | ^ 2026-10-30T04:23:47.931882Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931883Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931884Z 01O | ^ 2026-10-30T04:23:47.931888Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.931889Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931890Z 01O | ^ 2026-10-30T04:23:47.931890Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.931891Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.931892Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931914Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.931915Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.931916Z 01O | ^ 2026-10-30T04:23:47.931916Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.931917Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.931917Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.931918Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.931919Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.931919Z 01O | ^ 2026-10-30T04:23:47.931923Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.931924Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.931931Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.931932Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.931933Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.931934Z 01O | ^ 2026-10-30T04:23:47.931938Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.931939Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.932008Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-10-30T04:23:47.932287Z 01O | ^ 2026-10-30T04:23:47.932311Z 01O /builds/Rdatatable/data.table/src/nafill.c:55:16: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.932313Z 01O 55 | if (ISNA(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-10-30T04:23:47.932313Z 01O | ^ 2026-10-30T04:23:47.932314Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.932315Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.932315Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.932316Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.932317Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.932317Z 01O | ^ 2026-10-30T04:23:47.932317Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.932318Z 01O 187 | if (verbose) 2026-10-30T04:23:47.932319Z 01O | ^~~~~~~ 2026-10-30T04:23:47.932319Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.932320Z 01O 187 | if (verbose) 2026-10-30T04:23:47.932320Z 01O | ^ 2026-10-30T04:23:47.932328Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.932329Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.932330Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932330Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.932337Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.932338Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.932339Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932363Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.932364Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.932373Z 01O | ^ 2026-10-30T04:23:47.932374Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.932374Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.932375Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932379Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.932380Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932380Z 01O | ^ 2026-10-30T04:23:47.932381Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932382Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932383Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932388Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.932389Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932389Z 01O | ^ 2026-10-30T04:23:47.932390Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932391Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932391Z 01O | ^ 2026-10-30T04:23:47.932392Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.932393Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932393Z 01O | ^ 2026-10-30T04:23:47.932404Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932405Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932406Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.932406Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.932407Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932408Z 01O | ^ 2026-10-30T04:23:47.932408Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932409Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932410Z 01O | ^ 2026-10-30T04:23:47.932433Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.932434Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932434Z 01O | ^ 2026-10-30T04:23:47.932435Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932435Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932436Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932440Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.932441Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932442Z 01O | ^ 2026-10-30T04:23:47.932442Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.932443Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.932444Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.932450Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.932457Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.932458Z 01O | ^ 2026-10-30T04:23:47.932462Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.932463Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.932464Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932465Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.932465Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.932466Z 01O | ^ 2026-10-30T04:23:47.932467Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.932467Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.932517Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-10-30T04:23:47.932796Z 01O | ^ 2026-10-30T04:23:47.932797Z 01O /builds/Rdatatable/data.table/src/nafill.c:109:11: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.932798Z 01O 109 | if (x[i]==NA_INTEGER64) { 2026-10-30T04:23:47.932798Z 01O | ^ 2026-10-30T04:23:47.932809Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.932810Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.932810Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.932811Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.932811Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.932812Z 01O | ^ 2026-10-30T04:23:47.932812Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.932813Z 01O 187 | if (verbose) 2026-10-30T04:23:47.932814Z 01O | ^~~~~~~ 2026-10-30T04:23:47.932814Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.932815Z 01O 187 | if (verbose) 2026-10-30T04:23:47.932816Z 01O | ^ 2026-10-30T04:23:47.932837Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.932838Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.932839Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932839Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.932845Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.932846Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.932847Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932859Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.932860Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.932861Z 01O | ^ 2026-10-30T04:23:47.932861Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.932862Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.932862Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932863Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.932864Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932864Z 01O | ^ 2026-10-30T04:23:47.932867Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932868Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932869Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932874Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.932875Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932875Z 01O | ^ 2026-10-30T04:23:47.932893Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932894Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932895Z 01O | ^ 2026-10-30T04:23:47.932895Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.932896Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932897Z 01O | ^ 2026-10-30T04:23:47.932908Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932909Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932910Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.932911Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.932911Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932912Z 01O | ^ 2026-10-30T04:23:47.932915Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932916Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932917Z 01O | ^ 2026-10-30T04:23:47.932935Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.932935Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932936Z 01O | ^ 2026-10-30T04:23:47.932937Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.932937Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.932938Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932942Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.932943Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.932943Z 01O | ^ 2026-10-30T04:23:47.932944Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.932944Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.932950Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.932951Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.932958Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.932958Z 01O | ^ 2026-10-30T04:23:47.932978Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.932979Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.932979Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.932980Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.932981Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.932981Z 01O | ^ 2026-10-30T04:23:47.932982Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.932983Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.933034Z 01O 231 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-10-30T04:23:47.933295Z 01O | ^ 2026-10-30T04:23:47.933295Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.933296Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.933296Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.933297Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.933297Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.933298Z 01O | ^ 2026-10-30T04:23:47.933298Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.933299Z 01O 187 | if (verbose) 2026-10-30T04:23:47.933300Z 01O | ^~~~~~~ 2026-10-30T04:23:47.933300Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.933301Z 01O 187 | if (verbose) 2026-10-30T04:23:47.933301Z 01O | ^ 2026-10-30T04:23:47.933328Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.933328Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.933329Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933330Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.933336Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.933337Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.933338Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933342Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.933342Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.933343Z 01O | ^ 2026-10-30T04:23:47.933344Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.933345Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.933345Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933361Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.933362Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933363Z 01O | ^ 2026-10-30T04:23:47.933369Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933375Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933376Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933376Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.933377Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933378Z 01O | ^ 2026-10-30T04:23:47.933378Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933379Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933385Z 01O | ^ 2026-10-30T04:23:47.933386Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.933387Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933387Z 01O | ^ 2026-10-30T04:23:47.933405Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933406Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933407Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.933408Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.933409Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933409Z 01O | ^ 2026-10-30T04:23:47.933413Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933414Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933415Z 01O | ^ 2026-10-30T04:23:47.933415Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.933416Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933417Z 01O | ^ 2026-10-30T04:23:47.933429Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933430Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933431Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933431Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.933432Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933433Z 01O | ^ 2026-10-30T04:23:47.933450Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.933451Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.933451Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.933452Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.933452Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.933453Z 01O | ^ 2026-10-30T04:23:47.933453Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.933454Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.933455Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933459Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.933460Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.933461Z 01O | ^ 2026-10-30T04:23:47.933461Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.933462Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.933540Z 01O 231 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-10-30T04:23:47.933783Z 01O | ^ 2026-10-30T04:23:47.933807Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:9: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.933808Z 01O 124 | if (x[nx-1]==NA_INTEGER64 && limit>0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-10-30T04:23:47.933809Z 01O | ^ 2026-10-30T04:23:47.933810Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.933810Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.933811Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.933811Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.933812Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.933812Z 01O | ^ 2026-10-30T04:23:47.933813Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.933814Z 01O 187 | if (verbose) 2026-10-30T04:23:47.933814Z 01O | ^~~~~~~ 2026-10-30T04:23:47.933830Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.933831Z 01O 187 | if (verbose) 2026-10-30T04:23:47.933831Z 01O | ^ 2026-10-30T04:23:47.933853Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.933853Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.933854Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933855Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.933861Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.933862Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.933863Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933866Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.933867Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.933868Z 01O | ^ 2026-10-30T04:23:47.933869Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.933875Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.933876Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933883Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.933888Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933888Z 01O | ^ 2026-10-30T04:23:47.933889Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933890Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933890Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933891Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.933892Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933892Z 01O | ^ 2026-10-30T04:23:47.933896Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933897Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933898Z 01O | ^ 2026-10-30T04:23:47.933899Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.933899Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933900Z 01O | ^ 2026-10-30T04:23:47.933927Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933928Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933929Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.933930Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.933931Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933931Z 01O | ^ 2026-10-30T04:23:47.933935Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933936Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933943Z 01O | ^ 2026-10-30T04:23:47.933944Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.933945Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933945Z 01O | ^ 2026-10-30T04:23:47.933963Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.933964Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.933965Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933966Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.933966Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.933967Z 01O | ^ 2026-10-30T04:23:47.933978Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.933979Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.933979Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.933980Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.933980Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.933981Z 01O | ^ 2026-10-30T04:23:47.933981Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.933982Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.933983Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.933984Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.933984Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.933985Z 01O | ^ 2026-10-30T04:23:47.933985Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.933986Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.934051Z 01O 231 | for (R_len_t i=0; i0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-10-30T04:23:47.934296Z 01O | ^ 2026-10-30T04:23:47.934297Z 01O /builds/Rdatatable/data.table/src/nafill.c:144:11: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.934298Z 01O 144 | if (x[i]==NA_STRING) { 2026-10-30T04:23:47.934299Z 01O | ^ 2026-10-30T04:23:47.934317Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.934318Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.934318Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.934319Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.934319Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.934320Z 01O | ^ 2026-10-30T04:23:47.934320Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.934321Z 01O 187 | if (verbose) 2026-10-30T04:23:47.934322Z 01O | ^~~~~~~ 2026-10-30T04:23:47.934322Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.934323Z 01O 187 | if (verbose) 2026-10-30T04:23:47.934323Z 01O | ^ 2026-10-30T04:23:47.934342Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.934343Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.934344Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934345Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.934365Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.934366Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.934367Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934372Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.934372Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.934374Z 01O | ^ 2026-10-30T04:23:47.934374Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.934375Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.934376Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934376Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.934377Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934377Z 01O | ^ 2026-10-30T04:23:47.934389Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934390Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934390Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934391Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.934392Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934392Z 01O | ^ 2026-10-30T04:23:47.934410Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934410Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934411Z 01O | ^ 2026-10-30T04:23:47.934412Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.934412Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934413Z 01O | ^ 2026-10-30T04:23:47.934425Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934426Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934427Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.934428Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.934428Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934429Z 01O | ^ 2026-10-30T04:23:47.934451Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934452Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934453Z 01O | ^ 2026-10-30T04:23:47.934454Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.934455Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934462Z 01O | ^ 2026-10-30T04:23:47.934466Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934467Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934468Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934469Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.934469Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934470Z 01O | ^ 2026-10-30T04:23:47.934493Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.934494Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.934494Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.934495Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.934496Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.934496Z 01O | ^ 2026-10-30T04:23:47.934500Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.934501Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.934502Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934502Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.934503Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.934504Z 01O | ^ 2026-10-30T04:23:47.934504Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.934505Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.934591Z 01O 231 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-10-30T04:23:47.934783Z 01O | ^ 2026-10-30T04:23:47.934783Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.934784Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.934785Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.934785Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.934786Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.934786Z 01O | ^ 2026-10-30T04:23:47.934789Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.934790Z 01O 187 | if (verbose) 2026-10-30T04:23:47.934790Z 01O | ^~~~~~~ 2026-10-30T04:23:47.934791Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.934791Z 01O 187 | if (verbose) 2026-10-30T04:23:47.934792Z 01O | ^ 2026-10-30T04:23:47.934819Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.934820Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.934821Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934822Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.934827Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.934828Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.934829Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934829Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.934830Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.934831Z 01O | ^ 2026-10-30T04:23:47.934832Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.934832Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.934833Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934836Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.934837Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934837Z 01O | ^ 2026-10-30T04:23:47.934856Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934857Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934858Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934858Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.934871Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934871Z 01O | ^ 2026-10-30T04:23:47.934875Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934876Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934877Z 01O | ^ 2026-10-30T04:23:47.934878Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.934878Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934879Z 01O | ^ 2026-10-30T04:23:47.934899Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934900Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934901Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.934901Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.934902Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934903Z 01O | ^ 2026-10-30T04:23:47.934908Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934909Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934910Z 01O | ^ 2026-10-30T04:23:47.934910Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.934917Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934918Z 01O | ^ 2026-10-30T04:23:47.934918Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.934919Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.934920Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934940Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.934941Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.934942Z 01O | ^ 2026-10-30T04:23:47.934942Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.934943Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.934943Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.934944Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.934945Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.934945Z 01O | ^ 2026-10-30T04:23:47.934946Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.934946Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.934947Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.934951Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.934952Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.934952Z 01O | ^ 2026-10-30T04:23:47.934953Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.934953Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.935011Z 01O 231 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-10-30T04:23:47.935223Z 01O | ^ 2026-10-30T04:23:47.935228Z 01O /builds/Rdatatable/data.table/src/nafill.c:160:9: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-30T04:23:47.935229Z 01O 160 | if (x[nx-1]==NA_STRING && limit>0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-10-30T04:23:47.935230Z 01O | ^ 2026-10-30T04:23:47.935231Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-30T04:23:47.935231Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.935232Z 01O | ^~~~~~~~~~~~~ 2026-10-30T04:23:47.935232Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-30T04:23:47.935233Z 01O 183 | if (!xlength(obj)) 2026-10-30T04:23:47.935234Z 01O | ^ 2026-10-30T04:23:47.935234Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-30T04:23:47.935235Z 01O 187 | if (verbose) 2026-10-30T04:23:47.935235Z 01O | ^~~~~~~ 2026-10-30T04:23:47.935238Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-30T04:23:47.935238Z 01O 187 | if (verbose) 2026-10-30T04:23:47.935245Z 01O | ^ 2026-10-30T04:23:47.935272Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-30T04:23:47.935273Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.935274Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935275Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-30T04:23:47.935275Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-30T04:23:47.935276Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.935277Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935293Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-30T04:23:47.935294Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-30T04:23:47.935295Z 01O | ^ 2026-10-30T04:23:47.935296Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-30T04:23:47.935297Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-30T04:23:47.935297Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935298Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.935298Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.935299Z 01O | ^ 2026-10-30T04:23:47.935349Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.935350Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.935351Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935352Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.935352Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.935353Z 01O | ^ 2026-10-30T04:23:47.935353Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.935354Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.935355Z 01O | ^ 2026-10-30T04:23:47.935356Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.935356Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.935357Z 01O | ^ 2026-10-30T04:23:47.935384Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.935385Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.935386Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.935386Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-30T04:23:47.935387Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.935388Z 01O | ^ 2026-10-30T04:23:47.935388Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.935389Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.935390Z 01O | ^ 2026-10-30T04:23:47.935390Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-30T04:23:47.935398Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.935399Z 01O | ^ 2026-10-30T04:23:47.935399Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.935400Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.935401Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935402Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-30T04:23:47.935403Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-30T04:23:47.935403Z 01O | ^ 2026-10-30T04:23:47.935431Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-30T04:23:47.935432Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.935433Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.935433Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-30T04:23:47.935434Z 01O 200 | if (obj_scalar) { 2026-10-30T04:23:47.935434Z 01O | ^ 2026-10-30T04:23:47.935435Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-30T04:23:47.935435Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.935436Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935437Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-30T04:23:47.935438Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-30T04:23:47.935438Z 01O | ^ 2026-10-30T04:23:47.935443Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-30T04:23:47.935444Z 01O 215 | for (int i=0; i= 'nx' 2026-10-30T04:23:47.935503Z 01O 231 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-10-30T04:23:47.935738Z 01O | ^ 2026-10-30T04:23:47.935738Z 01O /builds/Rdatatable/data.table/src/nafill.c:198:8: warning: Value stored to 'x' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-10-30T04:23:47.935739Z 01O 198 | SEXP x = R_NilValue; 2026-10-30T04:23:47.935740Z 01O | ^ ~~~~~~~~~~ 2026-10-30T04:23:47.935740Z 01O /builds/Rdatatable/data.table/src/nafill.c:198:8: note: Value stored to 'x' during its initialization is never read 2026-10-30T04:23:47.935741Z 01O 198 | SEXP x = R_NilValue; 2026-10-30T04:23:47.935742Z 01O | ^ ~~~~~~~~~~ 2026-10-30T04:23:47.935746Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: warning: Potential out of bound access to the region with tainted index [clang-analyzer-security.ArrayBound] 2026-10-30T04:23:47.935747Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-10-30T04:23:47.935748Z 01O | ^ 2026-10-30T04:23:47.935765Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-10-30T04:23:47.935766Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-10-30T04:23:47.935767Z 01O | ^ 2026-10-30T04:23:47.935767Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-10-30T04:23:47.935768Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-10-30T04:23:47.935769Z 01O | ^ 2026-10-30T04:23:47.935772Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-10-30T04:23:47.935773Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-10-30T04:23:47.935773Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935774Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-10-30T04:23:47.935775Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-10-30T04:23:47.935790Z 01O | ^ 2026-10-30T04:23:47.935809Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-10-30T04:23:47.935809Z 01O 131 | if (length(throttle)) { 2026-10-30T04:23:47.935810Z 01O | ^ 2026-10-30T04:23:47.935811Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-30T04:23:47.935811Z 01O 987 | #define length(x) Rf_length(x) 2026-10-30T04:23:47.935812Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.935813Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-10-30T04:23:47.935813Z 01O 131 | if (length(throttle)) { 2026-10-30T04:23:47.935814Z 01O | ^ 2026-10-30T04:23:47.935820Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-10-30T04:23:47.935821Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-10-30T04:23:47.935822Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935823Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-10-30T04:23:47.935823Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-10-30T04:23:47.935824Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-10-30T04:23:47.935825Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935850Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-10-30T04:23:47.935850Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-10-30T04:23:47.935851Z 01O | ^ 2026-10-30T04:23:47.935851Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-10-30T04:23:47.935852Z 01O 138 | initDTthreads(); 2026-10-30T04:23:47.935853Z 01O | ^~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935857Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-10-30T04:23:47.935858Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-10-30T04:23:47.935859Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935860Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-10-30T04:23:47.935860Z 01O 14 | const char *val = getenv(name); 2026-10-30T04:23:47.935861Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.935862Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-10-30T04:23:47.935863Z 01O 14 | const char *val = getenv(name); 2026-10-30T04:23:47.935863Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.935889Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-10-30T04:23:47.935890Z 01O 14 | const char *val = getenv(name); 2026-10-30T04:23:47.935891Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.935891Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-10-30T04:23:47.935892Z 01O 15 | if (val == NULL) return def; 2026-10-30T04:23:47.935893Z 01O | ^~~ 2026-10-30T04:23:47.935893Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-10-30T04:23:47.935894Z 01O 15 | if (val == NULL) return def; 2026-10-30T04:23:47.935895Z 01O | ^ 2026-10-30T04:23:47.935895Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-10-30T04:23:47.935896Z 01O 17 | if (nchar == 0) return def; 2026-10-30T04:23:47.935896Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.935897Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-10-30T04:23:47.935898Z 01O 17 | if (nchar == 0) return def; 2026-10-30T04:23:47.935898Z 01O | ^ 2026-10-30T04:23:47.935904Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-10-30T04:23:47.935910Z 01O 20 | long int ans = strtol(val, &end, 10); // ignores leading whitespace. If it fully consumed the string, *end=='\0' and isspace('\0')==false 2026-10-30T04:23:47.935911Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935912Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: note: Access of the region with a tainted index that may be too large 2026-10-30T04:23:47.935913Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-10-30T04:23:47.935914Z 01O | ^ 2026-10-30T04:23:47.935937Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-10-30T04:23:47.935938Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-10-30T04:23:47.935939Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935940Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-10-30T04:23:47.935940Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-10-30T04:23:47.935941Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.935985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:101:19: warning: Call to 'calloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-10-30T04:23:47.935987Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-10-30T04:23:47.935988Z 01O | ^ ~~~~~ 2026-10-30T04:23:47.935988Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-10-30T04:23:47.935989Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-30T04:23:47.935990Z 01O | ^ 2026-10-30T04:23:47.936009Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936010Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936011Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936012Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-10-30T04:23:47.936012Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-30T04:23:47.936013Z 01O | ^ 2026-10-30T04:23:47.936036Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936037Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936037Z 01O | ^ 2026-10-30T04:23:47.936038Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-10-30T04:23:47.936039Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-30T04:23:47.936039Z 01O | ^ 2026-10-30T04:23:47.936045Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936046Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936047Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.936048Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-10-30T04:23:47.936048Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-30T04:23:47.936049Z 01O | ^ 2026-10-30T04:23:47.936069Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936070Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936071Z 01O | ^ 2026-10-30T04:23:47.936072Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-10-30T04:23:47.936086Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-30T04:23:47.936087Z 01O | ^ 2026-10-30T04:23:47.936087Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936088Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936089Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936089Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-10-30T04:23:47.936090Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-30T04:23:47.936091Z 01O | ^ 2026-10-30T04:23:47.936136Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-10-30T04:23:47.936137Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-10-30T04:23:47.936138Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936138Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-10-30T04:23:47.936139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-10-30T04:23:47.936140Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-10-30T04:23:47.936140Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-10-30T04:23:47.936146Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-10-30T04:23:47.936146Z 01O | ^ 2026-10-30T04:23:47.936147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-10-30T04:23:47.936147Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-30T04:23:47.936148Z 01O | ^ 2026-10-30T04:23:47.936153Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936154Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936155Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936156Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-10-30T04:23:47.936157Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-30T04:23:47.936157Z 01O | ^ 2026-10-30T04:23:47.936177Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936183Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936184Z 01O | ^ 2026-10-30T04:23:47.936185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-10-30T04:23:47.936185Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-30T04:23:47.936186Z 01O | ^ 2026-10-30T04:23:47.936192Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936193Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936194Z 01O | ^~~~~~~~~~~~ 2026-10-30T04:23:47.936195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-10-30T04:23:47.936195Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-30T04:23:47.936196Z 01O | ^ 2026-10-30T04:23:47.936212Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936213Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936214Z 01O | ^ 2026-10-30T04:23:47.936226Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-10-30T04:23:47.936226Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-30T04:23:47.936227Z 01O | ^ 2026-10-30T04:23:47.936227Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-30T04:23:47.936234Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-30T04:23:47.936235Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936238Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-10-30T04:23:47.936239Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-30T04:23:47.936239Z 01O | ^ 2026-10-30T04:23:47.936242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-10-30T04:23:47.936243Z 01O 13 | if (!length(l)) return(l); 2026-10-30T04:23:47.936243Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.936246Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-10-30T04:23:47.936247Z 01O 13 | if (!length(l)) return(l); 2026-10-30T04:23:47.936248Z 01O | ^ 2026-10-30T04:23:47.936250Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-10-30T04:23:47.936251Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2026-10-30T04:23:47.936252Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936270Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-10-30T04:23:47.936271Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2026-10-30T04:23:47.936272Z 01O | ^ 2026-10-30T04:23:47.936273Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-10-30T04:23:47.936274Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-10-30T04:23:47.936274Z 01O | ^~~~ 2026-10-30T04:23:47.936275Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-10-30T04:23:47.936275Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-10-30T04:23:47.936276Z 01O | ^ 2026-10-30T04:23:47.936285Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-10-30T04:23:47.936286Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-10-30T04:23:47.936286Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936291Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-10-30T04:23:47.936291Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-10-30T04:23:47.936292Z 01O | ^~~~~ 2026-10-30T04:23:47.936297Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-10-30T04:23:47.936298Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-10-30T04:23:47.936299Z 01O | ^ 2026-10-30T04:23:47.936300Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-10-30T04:23:47.936300Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.936301Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.936318Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.936319Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.936320Z 01O | ^ 2026-10-30T04:23:47.936323Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-30T04:23:47.936336Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.936336Z 01O | ^ 2026-10-30T04:23:47.936337Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.936338Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.936338Z 01O | ^ 2026-10-30T04:23:47.936339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-30T04:23:47.936340Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.936340Z 01O | ^ 2026-10-30T04:23:47.936356Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-30T04:23:47.936357Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.936358Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936361Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-30T04:23:47.936362Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.936363Z 01O | ^ 2026-10-30T04:23:47.936364Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-30T04:23:47.936364Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.936365Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.936369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-30T04:23:47.936370Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.936370Z 01O | ^ 2026-10-30T04:23:47.936371Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-30T04:23:47.936371Z 01O 37 | if (fill) { 2026-10-30T04:23:47.936372Z 01O | ^~~~ 2026-10-30T04:23:47.936373Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-30T04:23:47.936373Z 01O 37 | if (fill) { 2026-10-30T04:23:47.936374Z 01O | ^ 2026-10-30T04:23:47.936374Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-30T04:23:47.936375Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.936376Z 01O | ^~~~ 2026-10-30T04:23:47.936376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-30T04:23:47.936377Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.936383Z 01O | ^ 2026-10-30T04:23:47.936400Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-30T04:23:47.936401Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.936402Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.936402Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-30T04:23:47.936403Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.936404Z 01O | ^ 2026-10-30T04:23:47.936407Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-30T04:23:47.936407Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.936408Z 01O | ^~~~~~ 2026-10-30T04:23:47.936408Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-30T04:23:47.936409Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.936410Z 01O | ^ 2026-10-30T04:23:47.936457Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-30T04:23:47.936458Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.936466Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.936467Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-30T04:23:47.936468Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.936469Z 01O | ^ 2026-10-30T04:23:47.936472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-10-30T04:23:47.936472Z 01O 49 | for (int j=0; j0 checked above 2026-10-30T04:23:47.936498Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.936499Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-30T04:23:47.936500Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.936501Z 01O | ^ 2026-10-30T04:23:47.936501Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-30T04:23:47.936502Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.936502Z 01O | ^~~~~~~ 2026-10-30T04:23:47.936506Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-30T04:23:47.936507Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.936508Z 01O | ^ 2026-10-30T04:23:47.936508Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-30T04:23:47.936509Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.936509Z 01O | ^~~~ 2026-10-30T04:23:47.936510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-30T04:23:47.936513Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-30T04:23:47.936514Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.936514Z 01O | ^~~~ 2026-10-30T04:23:47.936515Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-30T04:23:47.936516Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.936517Z 01O | ^ 2026-10-30T04:23:47.936538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-30T04:23:47.936538Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.936540Z 01O | ^~~~ 2026-10-30T04:23:47.936544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-30T04:23:47.936544Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.936546Z 01O | ^ 2026-10-30T04:23:47.936546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-30T04:23:47.936547Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.936548Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.936564Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-30T04:23:47.936572Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.936572Z 01O | ^ 2026-10-30T04:23:47.936573Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-30T04:23:47.936574Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.936574Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.936575Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-30T04:23:47.936585Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-10-30T04:23:47.936585Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.936586Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936587Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-10-30T04:23:47.936587Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.936588Z 01O | ^ 2026-10-30T04:23:47.936588Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-10-30T04:23:47.936589Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-30T04:23:47.936590Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.936607Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-10-30T04:23:47.936608Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-30T04:23:47.936609Z 01O | ^ 2026-10-30T04:23:47.936609Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-10-30T04:23:47.936610Z 01O 83 | int nuniq=0; 2026-10-30T04:23:47.936610Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.936611Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-10-30T04:23:47.936611Z 01O 85 | for (int i=0; i0 checked above 2026-10-30T04:23:47.936956Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.936972Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.936973Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.936974Z 01O | ^ 2026-10-30T04:23:47.936974Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-30T04:23:47.936975Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.936976Z 01O | ^ 2026-10-30T04:23:47.936976Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.936977Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.936977Z 01O | ^ 2026-10-30T04:23:47.936980Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-30T04:23:47.936980Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.936981Z 01O | ^ 2026-10-30T04:23:47.936983Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-30T04:23:47.936984Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.936985Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.936993Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-30T04:23:47.936994Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.936995Z 01O | ^ 2026-10-30T04:23:47.936996Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-30T04:23:47.936996Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.936997Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.937018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-30T04:23:47.937019Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.937019Z 01O | ^ 2026-10-30T04:23:47.937020Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-30T04:23:47.937020Z 01O 37 | if (fill) { 2026-10-30T04:23:47.937021Z 01O | ^~~~ 2026-10-30T04:23:47.937021Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-30T04:23:47.937022Z 01O 37 | if (fill) { 2026-10-30T04:23:47.937023Z 01O | ^ 2026-10-30T04:23:47.937025Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-30T04:23:47.937026Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.937033Z 01O | ^~~~ 2026-10-30T04:23:47.937034Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-30T04:23:47.937035Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.937035Z 01O | ^ 2026-10-30T04:23:47.937058Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-30T04:23:47.937059Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.937060Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.937063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-30T04:23:47.937064Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.937065Z 01O | ^ 2026-10-30T04:23:47.937066Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-30T04:23:47.937067Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.937067Z 01O | ^~~~~~ 2026-10-30T04:23:47.937068Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-30T04:23:47.937069Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.937069Z 01O | ^ 2026-10-30T04:23:47.937085Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-30T04:23:47.937086Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.937087Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.937096Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-30T04:23:47.937097Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.937098Z 01O | ^ 2026-10-30T04:23:47.937099Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-10-30T04:23:47.937100Z 01O 49 | for (int j=0; j0 checked above 2026-10-30T04:23:47.937121Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.937121Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-30T04:23:47.937122Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.937123Z 01O | ^ 2026-10-30T04:23:47.937123Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-30T04:23:47.937124Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.937124Z 01O | ^~~~~~~ 2026-10-30T04:23:47.937125Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-30T04:23:47.937126Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.937126Z 01O | ^ 2026-10-30T04:23:47.937130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-30T04:23:47.937131Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.937131Z 01O | ^~~~ 2026-10-30T04:23:47.937132Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-30T04:23:47.937132Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-30T04:23:47.937165Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.937165Z 01O | ^~~~ 2026-10-30T04:23:47.937168Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-30T04:23:47.937169Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.937170Z 01O | ^ 2026-10-30T04:23:47.937187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-30T04:23:47.937188Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.937195Z 01O | ^~~~ 2026-10-30T04:23:47.937200Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-30T04:23:47.937201Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.937202Z 01O | ^ 2026-10-30T04:23:47.937202Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-30T04:23:47.937203Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.937204Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.937205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-30T04:23:47.937206Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.937206Z 01O | ^ 2026-10-30T04:23:47.937221Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-30T04:23:47.937222Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.937223Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.937223Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-30T04:23:47.937227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-10-30T04:23:47.937228Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.937229Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.937229Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-10-30T04:23:47.937230Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.937231Z 01O | ^ 2026-10-30T04:23:47.937235Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-10-30T04:23:47.937236Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-30T04:23:47.937236Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.937237Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-10-30T04:23:47.937238Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-30T04:23:47.937238Z 01O | ^ 2026-10-30T04:23:47.937239Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-10-30T04:23:47.937245Z 01O 85 | for (int i=0; i= 'thisncol' 2026-10-30T04:23:47.937364Z 01O 92 | for (int j=0; j 'ncol' 2026-10-30T04:23:47.937457Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-30T04:23:47.937458Z 01O | ^~~~~~ 2026-10-30T04:23:47.937458Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-10-30T04:23:47.937459Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-30T04:23:47.937460Z 01O | ^ 2026-10-30T04:23:47.937460Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-10-30T04:23:47.937461Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-30T04:23:47.937462Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.937464Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-10-30T04:23:47.937465Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-10-30T04:23:47.937466Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.937470Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:153:40: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-10-30T04:23:47.937481Z 01O 153 | for (int j=0; j0 checked above 2026-10-30T04:23:47.937808Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.937808Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.937809Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.937810Z 01O | ^ 2026-10-30T04:23:47.937813Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-30T04:23:47.937814Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.937814Z 01O | ^ 2026-10-30T04:23:47.937815Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.937816Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.937816Z 01O | ^ 2026-10-30T04:23:47.937819Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-30T04:23:47.937820Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.937820Z 01O | ^ 2026-10-30T04:23:47.937837Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-30T04:23:47.937838Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.937839Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.937845Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-30T04:23:47.937846Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.937847Z 01O | ^ 2026-10-30T04:23:47.937856Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-30T04:23:47.937857Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.937858Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.937858Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-30T04:23:47.937859Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.937860Z 01O | ^ 2026-10-30T04:23:47.937875Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-30T04:23:47.937876Z 01O 37 | if (fill) { 2026-10-30T04:23:47.937876Z 01O | ^~~~ 2026-10-30T04:23:47.937877Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-30T04:23:47.937877Z 01O 37 | if (fill) { 2026-10-30T04:23:47.937878Z 01O | ^ 2026-10-30T04:23:47.937881Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-30T04:23:47.937881Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.937882Z 01O | ^~~~ 2026-10-30T04:23:47.937883Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-30T04:23:47.937883Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.937884Z 01O | ^ 2026-10-30T04:23:47.937887Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-30T04:23:47.937888Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.937889Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.937898Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-30T04:23:47.937899Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.937900Z 01O | ^ 2026-10-30T04:23:47.937900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-30T04:23:47.937901Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.937902Z 01O | ^~~~~~ 2026-10-30T04:23:47.937902Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-30T04:23:47.937903Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.937903Z 01O | ^ 2026-10-30T04:23:47.937919Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-30T04:23:47.937920Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.937920Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.937924Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-30T04:23:47.937925Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.937926Z 01O | ^ 2026-10-30T04:23:47.937926Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-10-30T04:23:47.937927Z 01O 49 | for (int j=0; j0 checked above 2026-10-30T04:23:47.937957Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.937976Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-30T04:23:47.937983Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.937984Z 01O | ^ 2026-10-30T04:23:47.937984Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-30T04:23:47.937985Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.937986Z 01O | ^~~~~~~ 2026-10-30T04:23:47.937986Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-30T04:23:47.937987Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.937987Z 01O | ^ 2026-10-30T04:23:47.937988Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-30T04:23:47.937989Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.937989Z 01O | ^~~~ 2026-10-30T04:23:47.937995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-30T04:23:47.938014Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-30T04:23:47.938014Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.938015Z 01O | ^~~~ 2026-10-30T04:23:47.938016Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-30T04:23:47.938016Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.938017Z 01O | ^ 2026-10-30T04:23:47.938019Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-30T04:23:47.938020Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.938021Z 01O | ^~~~ 2026-10-30T04:23:47.938037Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-30T04:23:47.938038Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.938039Z 01O | ^ 2026-10-30T04:23:47.938045Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-30T04:23:47.938046Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.938047Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.938064Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-30T04:23:47.938065Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.938066Z 01O | ^ 2026-10-30T04:23:47.938067Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-30T04:23:47.938068Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.938068Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.938069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-30T04:23:47.938070Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-10-30T04:23:47.938070Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.938071Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.938075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-10-30T04:23:47.938075Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.938076Z 01O | ^ 2026-10-30T04:23:47.938077Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-10-30T04:23:47.938077Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-30T04:23:47.938084Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.938106Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-10-30T04:23:47.938107Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-30T04:23:47.938108Z 01O | ^ 2026-10-30T04:23:47.938109Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-10-30T04:23:47.938109Z 01O 85 | for (int i=0; i= 'thisncol' 2026-10-30T04:23:47.938198Z 01O 92 | for (int j=0; j= 'thisncol' 2026-10-30T04:23:47.938305Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-10-30T04:23:47.938328Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.938329Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-10-30T04:23:47.938329Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-10-30T04:23:47.938330Z 01O | ^ 2026-10-30T04:23:47.938333Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-10-30T04:23:47.938334Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-10-30T04:23:47.938369Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.938369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-10-30T04:23:47.938370Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-30T04:23:47.938371Z 01O | ^ 2026-10-30T04:23:47.938374Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-10-30T04:23:47.938375Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.938375Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.938376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-10-30T04:23:47.938377Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-10-30T04:23:47.938378Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.938378Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.938381Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-10-30T04:23:47.938382Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.938383Z 01O | ^ 2026-10-30T04:23:47.938383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-10-30T04:23:47.938384Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.938397Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.938414Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-10-30T04:23:47.938415Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.938416Z 01O | ^ 2026-10-30T04:23:47.938416Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-10-30T04:23:47.938417Z 01O 142 | for (int i=0; i= 'ncol' 2026-10-30T04:23:47.938428Z 01O 143 | for (int i=0; i0 checked above 2026-10-30T04:23:47.938836Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.938839Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.938840Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.938841Z 01O | ^ 2026-10-30T04:23:47.938847Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-30T04:23:47.938854Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.938855Z 01O | ^ 2026-10-30T04:23:47.938858Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.938858Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.938859Z 01O | ^ 2026-10-30T04:23:47.938860Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-30T04:23:47.938860Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.938861Z 01O | ^ 2026-10-30T04:23:47.938878Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-30T04:23:47.938879Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.938880Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.938881Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-30T04:23:47.938881Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.938882Z 01O | ^ 2026-10-30T04:23:47.938885Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-30T04:23:47.938886Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.938886Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.938887Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-30T04:23:47.938887Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.938888Z 01O | ^ 2026-10-30T04:23:47.938890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-30T04:23:47.938891Z 01O 37 | if (fill) { 2026-10-30T04:23:47.938891Z 01O | ^~~~ 2026-10-30T04:23:47.938912Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-30T04:23:47.938913Z 01O 37 | if (fill) { 2026-10-30T04:23:47.938913Z 01O | ^ 2026-10-30T04:23:47.938914Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-30T04:23:47.938914Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.938915Z 01O | ^~~~ 2026-10-30T04:23:47.938915Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-30T04:23:47.938916Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.938917Z 01O | ^ 2026-10-30T04:23:47.938973Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-30T04:23:47.938974Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.938975Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.938979Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-30T04:23:47.938980Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.938981Z 01O | ^ 2026-10-30T04:23:47.938981Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-30T04:23:47.938982Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.938983Z 01O | ^~~~~~ 2026-10-30T04:23:47.938985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-30T04:23:47.938986Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.938987Z 01O | ^ 2026-10-30T04:23:47.939008Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-30T04:23:47.939009Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.939017Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.939018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-30T04:23:47.939019Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.939020Z 01O | ^ 2026-10-30T04:23:47.939024Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-10-30T04:23:47.939024Z 01O 49 | for (int j=0; j0 checked above 2026-10-30T04:23:47.939029Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.939052Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-30T04:23:47.939053Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.939053Z 01O | ^ 2026-10-30T04:23:47.939054Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-30T04:23:47.939055Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.939055Z 01O | ^~~~~~~ 2026-10-30T04:23:47.939056Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-30T04:23:47.939057Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.939057Z 01O | ^ 2026-10-30T04:23:47.939060Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-30T04:23:47.939061Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.939062Z 01O | ^~~~ 2026-10-30T04:23:47.939062Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-30T04:23:47.939063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-30T04:23:47.939064Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.939064Z 01O | ^~~~ 2026-10-30T04:23:47.939067Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-30T04:23:47.939068Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.939068Z 01O | ^ 2026-10-30T04:23:47.939085Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-30T04:23:47.939086Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.939087Z 01O | ^~~~ 2026-10-30T04:23:47.939088Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-30T04:23:47.939089Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.939090Z 01O | ^ 2026-10-30T04:23:47.939099Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-30T04:23:47.939100Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.939101Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.939101Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-30T04:23:47.939102Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.939109Z 01O | ^ 2026-10-30T04:23:47.939126Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-30T04:23:47.939127Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.939127Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.939128Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-30T04:23:47.939129Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-10-30T04:23:47.939130Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.939130Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.939134Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-10-30T04:23:47.939134Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.939135Z 01O | ^ 2026-10-30T04:23:47.939135Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-10-30T04:23:47.939136Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-30T04:23:47.939137Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.939140Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-10-30T04:23:47.939141Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-30T04:23:47.939147Z 01O | ^ 2026-10-30T04:23:47.939148Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-10-30T04:23:47.939148Z 01O 85 | for (int i=0; i= 'thisncol' 2026-10-30T04:23:47.939250Z 01O 92 | for (int j=0; j= 'thisncol' 2026-10-30T04:23:47.939358Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-10-30T04:23:47.939382Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.939383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-10-30T04:23:47.939383Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-10-30T04:23:47.939384Z 01O | ^ 2026-10-30T04:23:47.939384Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-10-30T04:23:47.939385Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-10-30T04:23:47.939405Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.939427Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-10-30T04:23:47.939433Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-30T04:23:47.939434Z 01O | ^ 2026-10-30T04:23:47.939434Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-10-30T04:23:47.939435Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.939436Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.939436Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-10-30T04:23:47.939437Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-10-30T04:23:47.939438Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.939439Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.939439Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-10-30T04:23:47.939440Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.939441Z 01O | ^ 2026-10-30T04:23:47.939441Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-10-30T04:23:47.939448Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.939448Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.939466Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-10-30T04:23:47.939467Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-30T04:23:47.939468Z 01O | ^ 2026-10-30T04:23:47.939468Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-10-30T04:23:47.939469Z 01O 142 | for (int i=0; i= 'ncol' 2026-10-30T04:23:47.939473Z 01O 143 | for (int i=0; i0 checked above 2026-10-30T04:23:47.939894Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.939897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.939898Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.939899Z 01O | ^ 2026-10-30T04:23:47.939900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-30T04:23:47.939900Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.939901Z 01O | ^ 2026-10-30T04:23:47.939923Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.939923Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.939924Z 01O | ^ 2026-10-30T04:23:47.939927Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-30T04:23:47.939927Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.939928Z 01O | ^ 2026-10-30T04:23:47.939945Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-30T04:23:47.939946Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.939947Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.939947Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-30T04:23:47.939948Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.939949Z 01O | ^ 2026-10-30T04:23:47.939949Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-30T04:23:47.939950Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.939951Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.939958Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-30T04:23:47.939958Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.939959Z 01O | ^ 2026-10-30T04:23:47.939974Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-30T04:23:47.939974Z 01O 37 | if (fill) { 2026-10-30T04:23:47.939975Z 01O | ^~~~ 2026-10-30T04:23:47.939975Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-30T04:23:47.939976Z 01O 37 | if (fill) { 2026-10-30T04:23:47.939977Z 01O | ^ 2026-10-30T04:23:47.939979Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-30T04:23:47.939987Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.939988Z 01O | ^~~~ 2026-10-30T04:23:47.939988Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-30T04:23:47.939989Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.939990Z 01O | ^ 2026-10-30T04:23:47.939993Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-30T04:23:47.939994Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.939995Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.940016Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-30T04:23:47.940017Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.940018Z 01O | ^ 2026-10-30T04:23:47.940019Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-30T04:23:47.940020Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.940020Z 01O | ^~~~~~ 2026-10-30T04:23:47.940021Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-30T04:23:47.940021Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.940022Z 01O | ^ 2026-10-30T04:23:47.940026Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-10-30T04:23:47.940027Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940028Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.940028Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.940029Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940030Z 01O | ^ 2026-10-30T04:23:47.940048Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-10-30T04:23:47.940049Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940049Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.940071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-10-30T04:23:47.940072Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940073Z 01O | ^ 2026-10-30T04:23:47.940077Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-30T04:23:47.940078Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940079Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.940079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-30T04:23:47.940080Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940081Z 01O | ^ 2026-10-30T04:23:47.940098Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.940099Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-10-30T04:23:47.940130Z 01O | ^~~~ 2026-10-30T04:23:47.940130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-10-30T04:23:47.940131Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-10-30T04:23:47.940132Z 01O | ^ 2026-10-30T04:23:47.940151Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-10-30T04:23:47.940158Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-10-30T04:23:47.940158Z 01O | ^~~~~ 2026-10-30T04:23:47.940159Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-10-30T04:23:47.940160Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-10-30T04:23:47.940161Z 01O | ^ 2026-10-30T04:23:47.940161Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-10-30T04:23:47.940162Z 01O 49 | for (int j=0; j0 checked above 2026-10-30T04:23:47.940181Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.940182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-30T04:23:47.940183Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.940184Z 01O | ^ 2026-10-30T04:23:47.940187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-30T04:23:47.940187Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.940188Z 01O | ^~~~~~~ 2026-10-30T04:23:47.940188Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-30T04:23:47.940189Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.940190Z 01O | ^ 2026-10-30T04:23:47.940190Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-30T04:23:47.940191Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.940191Z 01O | ^~~~ 2026-10-30T04:23:47.940194Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-30T04:23:47.940215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-30T04:23:47.940216Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.940217Z 01O | ^~~~ 2026-10-30T04:23:47.940217Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-30T04:23:47.940218Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.940218Z 01O | ^ 2026-10-30T04:23:47.940234Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-30T04:23:47.940235Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.940236Z 01O | ^~~~ 2026-10-30T04:23:47.940239Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-30T04:23:47.940240Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.940247Z 01O | ^ 2026-10-30T04:23:47.940250Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-30T04:23:47.940251Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.940257Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.940274Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-30T04:23:47.940275Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.940276Z 01O | ^ 2026-10-30T04:23:47.940277Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-10-30T04:23:47.940277Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-10-30T04:23:47.940278Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.940293Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-30T04:23:47.940294Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.940295Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.940295Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-30T04:23:47.940296Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-10-30T04:23:47.940296Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.940297Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.940300Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-10-30T04:23:47.940300Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.940301Z 01O | ^ 2026-10-30T04:23:47.940310Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-10-30T04:23:47.940311Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-10-30T04:23:47.940312Z 01O | ^~~~ 2026-10-30T04:23:47.940329Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-10-30T04:23:47.940329Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-10-30T04:23:47.940331Z 01O | ^ 2026-10-30T04:23:47.940331Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-10-30T04:23:47.940332Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.940333Z 01O | ^~~~ 2026-10-30T04:23:47.940335Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-10-30T04:23:47.940336Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.940337Z 01O | ^ 2026-10-30T04:23:47.940339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-10-30T04:23:47.940340Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.940341Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.940342Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-10-30T04:23:47.940363Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-10-30T04:23:47.940363Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.940364Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.940365Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-10-30T04:23:47.940373Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.940373Z 01O | ^ 2026-10-30T04:23:47.940391Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-10-30T04:23:47.940392Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-10-30T04:23:47.940392Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.940393Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-10-30T04:23:47.940393Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-10-30T04:23:47.940394Z 01O | ^ 2026-10-30T04:23:47.940394Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-10-30T04:23:47.940395Z 01O 251 | if (idcol) { 2026-10-30T04:23:47.940396Z 01O | ^~~~~ 2026-10-30T04:23:47.940396Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-10-30T04:23:47.940397Z 01O 251 | if (idcol) { 2026-10-30T04:23:47.940397Z 01O | ^ 2026-10-30T04:23:47.940398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.940399Z 01O 279 | for(int j=0; j0 checked above 2026-10-30T04:23:47.940813Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.940817Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.940818Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.940819Z 01O | ^ 2026-10-30T04:23:47.940819Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-30T04:23:47.940820Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.940821Z 01O | ^ 2026-10-30T04:23:47.940821Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-30T04:23:47.940822Z 01O 956 | #define isNull Rf_isNull 2026-10-30T04:23:47.940823Z 01O | ^ 2026-10-30T04:23:47.940841Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-30T04:23:47.940842Z 01O 32 | if (isNull(li)) continue; 2026-10-30T04:23:47.940843Z 01O | ^ 2026-10-30T04:23:47.940843Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-30T04:23:47.940844Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.940845Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.940845Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-30T04:23:47.940846Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-30T04:23:47.940847Z 01O | ^ 2026-10-30T04:23:47.940847Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-30T04:23:47.940848Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.940849Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.940849Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-30T04:23:47.940850Z 01O 35 | if (!thisncol) continue; 2026-10-30T04:23:47.940850Z 01O | ^ 2026-10-30T04:23:47.940868Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-30T04:23:47.940869Z 01O 37 | if (fill) { 2026-10-30T04:23:47.940870Z 01O | ^~~~ 2026-10-30T04:23:47.940870Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-30T04:23:47.940871Z 01O 37 | if (fill) { 2026-10-30T04:23:47.940871Z 01O | ^ 2026-10-30T04:23:47.940874Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-30T04:23:47.940875Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.940876Z 01O | ^~~~ 2026-10-30T04:23:47.940876Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-30T04:23:47.940877Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-30T04:23:47.940878Z 01O | ^ 2026-10-30T04:23:47.940894Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-30T04:23:47.940895Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.940896Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.940899Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-30T04:23:47.940900Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-30T04:23:47.940901Z 01O | ^ 2026-10-30T04:23:47.940907Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-30T04:23:47.940908Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.940908Z 01O | ^~~~~~ 2026-10-30T04:23:47.940909Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-30T04:23:47.940910Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-30T04:23:47.940910Z 01O | ^ 2026-10-30T04:23:47.940913Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-10-30T04:23:47.940914Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940915Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.940958Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.940959Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940960Z 01O | ^ 2026-10-30T04:23:47.940978Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-10-30T04:23:47.940979Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940979Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.940980Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-10-30T04:23:47.940981Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940982Z 01O | ^ 2026-10-30T04:23:47.940997Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-30T04:23:47.940998Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.940999Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.941130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-30T04:23:47.941131Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-30T04:23:47.941140Z 01O | ^ 2026-10-30T04:23:47.941140Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.941141Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-10-30T04:23:47.941144Z 01O | ^~~~ 2026-10-30T04:23:47.941145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-10-30T04:23:47.941145Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-10-30T04:23:47.941147Z 01O | ^ 2026-10-30T04:23:47.941147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-10-30T04:23:47.941148Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-10-30T04:23:47.941149Z 01O | ^~~~~ 2026-10-30T04:23:47.941149Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-10-30T04:23:47.941150Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-10-30T04:23:47.941151Z 01O | ^ 2026-10-30T04:23:47.941151Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-10-30T04:23:47.941152Z 01O 49 | for (int j=0; j0 checked above 2026-10-30T04:23:47.941155Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.941155Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-30T04:23:47.941156Z 01O 29 | for (int i=0; i0 checked above 2026-10-30T04:23:47.941157Z 01O | ^ 2026-10-30T04:23:47.941157Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-30T04:23:47.941158Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.941158Z 01O | ^~~~~~~ 2026-10-30T04:23:47.941158Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-30T04:23:47.941159Z 01O 57 | if (numZero) { // #1871 2026-10-30T04:23:47.941159Z 01O | ^ 2026-10-30T04:23:47.941159Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-10-30T04:23:47.941160Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.941160Z 01O | ^~~~ 2026-10-30T04:23:47.941160Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-10-30T04:23:47.941161Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-30T04:23:47.941161Z 01O | ^ 2026-10-30T04:23:47.941161Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-30T04:23:47.941162Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.941162Z 01O | ^~~~ 2026-10-30T04:23:47.941163Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-30T04:23:47.941171Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-10-30T04:23:47.941172Z 01O | ^ 2026-10-30T04:23:47.941172Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-30T04:23:47.941172Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.941173Z 01O | ^~~~~~~~~~~~~~ 2026-10-30T04:23:47.941173Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-30T04:23:47.941174Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-30T04:23:47.941174Z 01O | ^ 2026-10-30T04:23:47.941174Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-10-30T04:23:47.941175Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-10-30T04:23:47.941175Z 01O | ^~~~~~~~~~~ 2026-10-30T04:23:47.942992Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-30T04:23:47.942994Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.942994Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.942995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-30T04:23:47.942995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-10-30T04:23:47.942996Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.942996Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.942996Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-10-30T04:23:47.942997Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-30T04:23:47.942997Z 01O | ^ 2026-10-30T04:23:47.942997Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-10-30T04:23:47.942998Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-10-30T04:23:47.942998Z 01O | ^~~~ 2026-10-30T04:23:47.942999Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-10-30T04:23:47.942999Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-10-30T04:23:47.943000Z 01O | ^ 2026-10-30T04:23:47.943000Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-10-30T04:23:47.943001Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.943001Z 01O | ^~~~ 2026-10-30T04:23:47.943001Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-10-30T04:23:47.943002Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.943002Z 01O | ^ 2026-10-30T04:23:47.943002Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-10-30T04:23:47.943003Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.943003Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.943003Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-10-30T04:23:47.943004Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-10-30T04:23:47.943004Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.943005Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.943018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-10-30T04:23:47.943018Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-30T04:23:47.943019Z 01O | ^ 2026-10-30T04:23:47.943019Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-10-30T04:23:47.943020Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-10-30T04:23:47.943020Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.943020Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-10-30T04:23:47.943021Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-10-30T04:23:47.943021Z 01O | ^ 2026-10-30T04:23:47.943021Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-10-30T04:23:47.943022Z 01O 251 | if (idcol) { 2026-10-30T04:23:47.943022Z 01O | ^~~~~ 2026-10-30T04:23:47.943022Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-10-30T04:23:47.943023Z 01O 251 | if (idcol) { 2026-10-30T04:23:47.943023Z 01O | ^ 2026-10-30T04:23:47.943023Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.943024Z 01O 279 | for(int j=0; j= 1 2026-10-30T04:23:47.943066Z 01O 27 | if (n<1) return 0; 2026-10-30T04:23:47.943066Z 01O | ^~~ 2026-10-30T04:23:47.943067Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-10-30T04:23:47.943067Z 01O 27 | if (n<1) return 0; 2026-10-30T04:23:47.943067Z 01O | ^ 2026-10-30T04:23:47.943067Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-10-30T04:23:47.943068Z 01O 29 | va_start(ap, fmt); 2026-10-30T04:23:47.943068Z 01O | ^ 2026-10-30T04:23:47.943068Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-10-30T04:23:47.943069Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-10-30T04:23:47.943069Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-30T04:23:47.943070Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-10-30T04:23:47.943070Z 01O 40 | while (*ch!='\0') { 2026-10-30T04:23:47.943070Z 01O | ^~~~~~~~~ 2026-10-30T04:23:47.943071Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-10-30T04:23:47.943071Z 01O 40 | while (*ch!='\0') { 2026-10-30T04:23:47.943071Z 01O | ^ 2026-10-30T04:23:47.943072Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-10-30T04:23:47.943072Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-10-30T04:23:47.943072Z 01O | ^~~~~~~~ 2026-10-30T04:23:47.943073Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-10-30T04:23:47.943073Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-10-30T04:23:47.943073Z 01O | ^ 2026-10-30T04:23:47.943074Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-10-30T04:23:47.943074Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-10-30T04:23:47.943079Z 01O | ^~~~~~~~~~ 2026-10-30T04:23:47.943079Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-10-30T04:23:47.943080Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-10-30T04:23:47.943080Z 01O | ^ 2026-10-30T04:23:47.943080Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-10-30T04:23:47.943081Z 01O 47 | if (!end) { 2026-10-30T04:23:47.943081Z 01O | ^~~~ 2026-10-30T04:23:47.943081Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-10-30T04:23:47.943082Z 01O 47 | if (!end) { 2026-10-30T04:23:47.943082Z 01O | ^ 2026-10-30T04:23:47.943082Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-10-30T04:23:47.943083Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-10-30T04:23:47.943083Z 01O | ^ 2026-10-30T04:23:47.943083Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-10-30T04:23:47.943084Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-10-30T04:23:47.943085Z 01O | ^~~~~~ 2026-10-30T04:23:47.943085Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-10-30T04:23:47.943086Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-10-30T04:23:47.943086Z 01O | ^~~~~~ 2026-10-30T04:23:47.951483Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-10-30T04:23:48.366251Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-10-30T04:23:48.366256Z 01O * using R Under development (unstable) (2026-10-28 r90783) 2026-10-30T04:23:48.366257Z 01O * using platform: x86_64-pc-linux-gnu 2026-10-30T04:23:48.366308Z 01O * R was compiled by 2026-10-30T04:23:48.366309Z 01O Debian clang version 21.1.8 (13) 2026-10-30T04:23:48.366309Z 01O GNU Fortran (Debian 16.2.0-3) 16.2.0 2026-10-30T04:23:48.366423Z 01O * running under: Debian GNU/Linux forky/sid 2026-10-30T04:23:48.366463Z 01O * using session charset: UTF-8 2026-10-30T04:23:48.366876Z 01O * current time: 2026-10-30 04:23:48 UTC 2026-10-30T04:23:48.904156Z 01O * using option ‘--as-cran’ 2026-10-30T04:23:48.904324Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-10-30T04:23:48.906465Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-10-30T04:23:48.906544Z 01O * package encoding: UTF-8 2026-10-30T04:23:48.906645Z 01O * checking CRAN incoming feasibility ... OK 2026-10-30T04:23:49.325955Z 01O * checking package namespace information ... OK 2026-10-30T04:23:49.332669Z 01O * checking package dependencies ... OK 2026-10-30T04:23:50.286084Z 01O * checking if this is a source package ... OK 2026-10-30T04:23:50.287980Z 01O * checking if there is a namespace ... OK 2026-10-30T04:23:50.290965Z 01O * checking for .dll and .exe files ... OK 2026-10-30T04:23:50.291213Z 01O * checking for hidden files and directories ... OK 2026-10-30T04:23:50.292651Z 01O * checking for portable file names ... OK 2026-10-30T04:23:50.295960Z 01O * checking for sufficient/correct file permissions ... OK 2026-10-30T04:23:50.299466Z 01O * checking whether package ‘data.table’ can be installed ... [17s/17s] OK 2026-10-30T04:24:06.866335Z 01O * used C compiler: ‘Debian clang version 21.1.8 (13)’ 2026-10-30T04:24:06.866634Z 01O * checking installed package size ... INFO 2026-10-30T04:24:06.869253Z 01O installed size is 8.0Mb 2026-10-30T04:24:06.869725Z 01O sub-directories of 1Mb or more: 2026-10-30T04:24:06.870054Z 01O doc 1.1Mb 2026-10-30T04:24:06.870055Z 01O libs 1.5Mb 2026-10-30T04:24:06.870056Z 01O po 1.7Mb 2026-10-30T04:24:06.870056Z 01O tests 2.2Mb 2026-10-30T04:24:06.876512Z 01O * checking package directory ... OK 2026-10-30T04:24:06.876628Z 01O * checking for future file timestamps ... OK 2026-10-30T04:24:06.876986Z 01O * checking ‘build’ directory ... OK 2026-10-30T04:24:06.877625Z 01O * checking DESCRIPTION meta-information ... OK 2026-10-30T04:24:07.565850Z 01O * checking top-level files ... OK 2026-10-30T04:24:08.745637Z 01O * checking for left-over files ... OK 2026-10-30T04:24:08.748084Z 01O * checking index information ... OK 2026-10-30T04:24:08.891991Z 01O * checking package subdirectories ... OK 2026-10-30T04:24:09.187797Z 01O * checking code files for non-ASCII characters ... OK 2026-10-30T04:24:09.229353Z 01O * checking R files for syntax errors ... OK 2026-10-30T04:24:09.294193Z 01O * checking whether the package can be loaded ... OK 2026-10-30T04:24:09.467981Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-10-30T04:24:09.605686Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-10-30T04:24:09.744921Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-10-30T04:24:09.884193Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-10-30T04:24:10.042852Z 01O * checking loading without being on the library search path ... OK 2026-10-30T04:24:10.387429Z 01O * checking whether startup messages can be suppressed ... OK 2026-10-30T04:24:10.520907Z 01O * checking use of S3 registration ... OK 2026-10-30T04:24:10.546338Z 01O * checking dependencies in R code ... OK 2026-10-30T04:24:11.108424Z 01O * checking S3 generic/method consistency ... OK 2026-10-30T04:24:11.401762Z 01O * checking replacement functions ... OK 2026-10-30T04:24:11.564974Z 01O * checking foreign function calls ... OK 2026-10-30T04:24:12.170272Z 01O * checking R code for possible problems ... [12s/12s] OK 2026-10-30T04:24:23.786873Z 01O * checking Rd files ... OK 2026-10-30T04:24:24.370812Z 01O * checking Rd metadata ... OK 2026-10-30T04:24:24.406075Z 01O * checking Rd line widths ... OK 2026-10-30T04:24:24.602676Z 01O * checking Rd cross-references ... OK 2026-10-30T04:24:25.062889Z 01O * checking for missing documentation entries ... OK 2026-10-30T04:24:25.264740Z 01O * checking for code/documentation mismatches ... OK 2026-10-30T04:24:26.045889Z 01O * checking Rd \usage sections ... OK 2026-10-30T04:24:26.683918Z 01O * checking Rd contents ... OK 2026-10-30T04:24:27.022043Z 01O * checking for unstated dependencies in examples ... OK 2026-10-30T04:24:27.385917Z 01O * checking line endings in shell scripts ... OK 2026-10-30T04:24:27.386250Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-10-30T04:24:27.402683Z 01O * checking line endings in Makefiles ... OK 2026-10-30T04:24:27.402934Z 01O * checking compilation flags in Makevars ... OK 2026-10-30T04:24:27.454129Z 01O * checking for GNU extensions in Makefiles ... OK 2026-10-30T04:24:27.454815Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-10-30T04:24:27.455745Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-10-30T04:24:27.457883Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-10-30T04:24:27.461750Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-10-30T04:24:27.478164Z 01O * checking compilation flags used ... OK 2026-10-30T04:24:27.479430Z 01O * checking compiled code ... OK 2026-10-30T04:24:29.570857Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-10-30T04:24:29.740357Z 01O * checking files in ‘vignettes’ ... OK 2026-10-30T04:24:30.406724Z 01O * checking examples ... OK 2026-10-30T04:24:35.670104Z 01O * checking examples with --run-donttest ... OK 2026-10-30T04:24:43.232968Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-10-30T04:24:43.281718Z 01O * checking tests ... 2026-10-30T04:24:43.406802Z 01O Running ‘autoprint.R’ 2026-10-30T04:24:43.610864Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-10-30T04:24:43.615528Z 01O Running ‘froll.R’ [315s/315s] 2026-10-30T04:29:58.974137Z 01O Running ‘litedown.R’ 2026-10-30T04:29:59.192854Z 01O Running ‘main.R’ [35s/35s] 2026-10-30T04:30:33.766441Z 01O Running ‘mergelist.R’ 2026-10-30T04:30:35.077257Z 01O Running ‘nafill.R’ 2026-10-30T04:30:35.483165Z 01O Running ‘optimize.R’ 2026-10-30T04:30:38.930522Z 01O Running ‘other.R’ 2026-10-30T04:30:39.105740Z 01O Running ‘programming.R’ 2026-10-30T04:30:39.549733Z 01O Running ‘S4.R’ 2026-10-30T04:30:39.798027Z 01O Running ‘self.R’ 2026-10-30T04:30:39.983414Z 01O Running ‘types.R’ 2026-10-30T04:30:40.181092Z 01O [357s/357s] OK 2026-10-30T04:30:40.334455Z 01O * checking for unstated dependencies in vignettes ... OK 2026-10-30T04:30:40.547330Z 01O * checking package vignettes ... OK 2026-10-30T04:30:41.355812Z 01O * checking re-building of vignette outputs ... [24s/24s] OK 2026-10-30T04:31:05.791355Z 01O * checking PDF version of manual ... OK 2026-10-30T04:31:11.210864Z 01O * checking HTML version of manual ... NOTE 2026-10-30T04:31:13.254487Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-10-30T04:31:13.254566Z 01O * checking for non-standard things in the check directory ... OK 2026-10-30T04:31:13.254787Z 01O * checking for detritus in the temp directory ... OK 2026-10-30T04:31:13.255257Z 01O * DONE 2026-10-30T04:31:13.255496Z 01E 2026-10-30T04:31:13.255765Z 01O Status: 1 NOTE 2026-10-30T04:31:13.255788Z 01E See 2026-10-30T04:31:13.255789Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-10-30T04:31:13.255790Z 01E for details. 2026-10-30T04:31:13.255818Z 01E 2026-10-30T04:31:13.268073Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-10-30T04:31:13.269532Z 01O $ Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 1 NOTE"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (V8 package) but ", shQuote(l)) else q("no")' 2026-10-30T04:31:13.543942Z 00O section_end:1793334673:step_script  2026-10-30T04:31:13.544270Z 00O+section_start:1793334673:after_script  2026-10-30T04:31:13.544275Z 00O+Running after_script 2026-10-30T04:31:13.813631Z 01O Running after script... 2026-10-30T04:31:13.813654Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-10-30T04:31:13.814527Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-10-30T04:31:13.814529Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-10-30T04:31:13.814567Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-10-30T04:31:13.814567Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-10-30T04:31:13.965136Z 00O section_end:1793334673:after_script  2026-10-30T04:31:13.965809Z 00O+section_start:1793334673:upload_artifacts_on_success  2026-10-30T04:31:13.965814Z 00O+Uploading artifacts for successful job 2026-10-30T04:31:14.297089Z 01O Uploading artifacts... 2026-10-30T04:31:14.343605Z 01E bus/test-lin-dev-clang-cran: found 721 matching artifact files and directories 2026-10-30T04:31:15.803230Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=acfd5f136641481c9ebb4f4d8f7250f6 id=17597456901 status=201 token=74_xC_JBo 2026-10-30T04:31:15.967005Z 00O section_end:1793334675:upload_artifacts_on_success  2026-10-30T04:31:15.967321Z 00O+section_start:1793334675:cleanup_file_variables  2026-10-30T04:31:15.967326Z 00O+Cleaning up project directory and file based variables 2026-10-30T04:31:16.388664Z 00O section_end:1793334676:cleanup_file_variables  2026-10-30T04:31:16.415158Z 00O Job succeeded