2026-08-28T04:21:52.101455Z 00O Running with gitlab-runner 19.3.0 (9cbf0074) 2026-08-28T04:21:52.101478Z 00O  on k8s.saas-linux-medium-amd64.runners-manager.gitlab.com/default j8vTLRhES, system ID: r_sNdXjLge13IS 2026-08-28T04:21:52.101485Z 00O  feature flags: FF_USE_FASTZIP:true, FF_USE_GIT_PROACTIVE_AUTH:true, FF_HASH_CACHE_KEYS:true 2026-08-28T04:21:52.101515Z 00O Resolving secrets 2026-08-28T04:21:52.101722Z 00O section_start:1787890912:prepare_executor  2026-08-28T04:21:52.101726Z 00O+Preparing the "docker+machine" executor 2026-08-28T04:21:52.261944Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-08-28T04:21:52.262717Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.3.0 2026-08-28T04:21:52.262733Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.3.0 2026-08-28T04:21:52.263368Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-08-28T04:21:52.263378Z 00O Pulling docker image registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.3.0 ... 2026-08-28T04:21:53.680098Z 00O Using docker image sha256:c346e671eac589538f0d90fe3835e994540bf7d2bb7e8d857e616c1f4b0e1620 for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.3.0 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:47b7976ad6aa1cf103ead2b453fdc67c13d16a2e3345d79f17f76b53bde50632 ... 2026-08-28T04:21:55.283757Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-08-28T04:21:55.284476Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-08-28T04:21:55.284484Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-08-28T04:22:14.062991Z 00O Using docker image sha256:8815bf78d21810f295b6bb9e7949c4ecaafc20802d887d911f7fe1f8677c1a44 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:a924b48b4c2d868efa395cf21dbaf04e24dc2c40b3fda6476df1b60b289e8a0b ... 2026-08-28T04:22:14.063073Z 00O section_end:1787890934:prepare_executor  2026-08-28T04:22:14.063165Z 00O+section_start:1787890934:prepare_script  2026-08-28T04:22:14.063170Z 00O+Preparing environment 2026-08-28T04:22:14.064114Z 00O Using effective pull policy of [always] for container sha256:c346e671eac589538f0d90fe3835e994540bf7d2bb7e8d857e616c1f4b0e1620 2026-08-28T04:22:19.805435Z 01O Running on runner-j8vtlrhes-project-3622566-concurrent-0 via runner-j8vtlrhes-s-l-m-amd64-1787890877-8477e71e... 2026-08-28T04:22:19.982737Z 00O section_end:1787890939:prepare_script  2026-08-28T04:22:19.983233Z 00O+section_start:1787890939:get_sources  2026-08-28T04:22:19.983239Z 00O+Getting source from Git repository 2026-08-28T04:22:20.352061Z 01O Gitaly correlation ID: 8b8220f4f147486da920b6e605f35fa7 2026-08-28T04:22:20.358723Z 01O Fetching changes... 2026-08-28T04:22:20.362245Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-08-28T04:22:20.364679Z 01O Created fresh repository. 2026-08-28T04:22:26.386557Z 01O Checking out e26cf1b6 as detached HEAD (ref is master)... 2026-08-28T04:22:26.572523Z 01O 2026-08-28T04:22:26.572529Z 01O Skipping Git submodules setup 2026-08-28T04:22:26.572531Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-08-28T04:22:26.778143Z 00O section_end:1787890946:get_sources  2026-08-28T04:22:26.779064Z 00O+section_start:1787890946:download_artifacts  2026-08-28T04:22:26.779072Z 00O+Downloading artifacts 2026-08-28T04:22:27.196196Z 01O Downloading artifacts for build (16161768334)... 2026-08-28T04:22:27.451769Z 01E Direct download from storage.googleapis.com  correlation_id=4cd02aa95ffb40c383f8f7a61a81273a id=16161768334 status=302 token=72_ht9gAy 2026-08-28T04:22:27.694790Z 01E Downloading artifacts from coordinator... ok  correlation_id=4cd02aa95ffb40c383f8f7a61a81273a id=16161768334 status=302 token=72_ht9gAy 2026-08-28T04:22:27.707998Z 01O Downloading artifacts for mirror-packages (16161768333)... 2026-08-28T04:22:27.923750Z 01E Direct download from storage.googleapis.com  correlation_id=2f7f32d62c934a609fe8c9ea1d315de2 id=16161768333 status=302 token=72_ht9gAy 2026-08-28T04:22:28.726769Z 01E Downloading artifacts from coordinator... ok  correlation_id=2f7f32d62c934a609fe8c9ea1d315de2 id=16161768333 status=302 token=72_ht9gAy 2026-08-28T04:22:29.792586Z 00O section_end:1787890949:download_artifacts  2026-08-28T04:22:29.793024Z 00O+section_start:1787890949:step_script  2026-08-28T04:22:29.793031Z 00O+Executing "step_script" stage of the job script 2026-08-28T04:22:29.793043Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-08-28T04:22:29.794258Z 00O Using docker image sha256:8815bf78d21810f295b6bb9e7949c4ecaafc20802d887d911f7fe1f8677c1a44 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:a924b48b4c2d868efa395cf21dbaf04e24dc2c40b3fda6476df1b60b289e8a0b ... 2026-08-28T04:22:30.153206Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-08-28T04:22:30.162635Z 01O $ mkdir -p ~/.R 2026-08-28T04:22:30.164081Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-08-28T04:22:30.164117Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-08-28T04:22:30.164219Z 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-08-28T04:22:30.392252Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-08-28T04:22:30.392262Z 01E 2026-08-28T04:23:45.436864Z 01E Updating HTML index of packages in '.Library' 2026-08-28T04:23:45.436876Z 01E Making 'packages.html' ... done 2026-08-28T04:23:45.451872Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-08-28T04:23:45.469489Z 01E [1/48] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-08-28T04:23:52.878562Z 01E 2 warnings generated. 2026-08-28T04:23:52.878578Z 01E [2/48] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-08-28T04:23:55.904513Z 01E 2 warnings generated. 2026-08-28T04:23:55.904714Z 01E [3/48] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-08-28T04:24:02.711772Z 01E 2 warnings generated. 2026-08-28T04:24:02.711782Z 01E [4/48] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-08-28T04:24:02.946566Z 01E 6 warnings generated. 2026-08-28T04:24:02.946753Z 01E [5/48] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-08-28T04:24:05.637033Z 01E 6 warnings generated. 2026-08-28T04:24:05.637240Z 01E [6/48] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-08-28T04:24:07.903792Z 01E 6 warnings generated. 2026-08-28T04:24:07.903977Z 01E [7/48] Processing file /builds/Rdatatable/data.table/src/deleterows.c. 2026-08-28T04:24:08.181010Z 01E 6 warnings generated. 2026-08-28T04:24:08.181304Z 01E [8/48] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-08-28T04:24:12.376400Z 01E 6 warnings generated. 2026-08-28T04:24:12.376622Z 01E [9/48] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-08-28T04:24:12.438251Z 01E 6 warnings generated. 2026-08-28T04:24:12.438445Z 01E [10/48] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-08-28T04:24:15.313170Z 01E 9 warnings generated. 2026-08-28T04:24:15.313350Z 01E [11/48] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-08-28T04:24:20.637476Z 01E 10 warnings generated. 2026-08-28T04:24:20.637491Z 01E [12/48] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-08-28T04:24:24.517112Z 01E 11 warnings generated. 2026-08-28T04:24:24.517444Z 01E [13/48] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-08-28T04:24:32.752547Z 01E 12 warnings generated. 2026-08-28T04:24:32.752576Z 01E [14/48] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-08-28T04:24:36.142653Z 01E 12 warnings generated. 2026-08-28T04:24:36.142927Z 01E [15/48] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-08-28T04:24:41.758499Z 01E 24 warnings generated. 2026-08-28T04:24:41.758511Z 01E [16/48] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-08-28T04:24:50.574004Z 01E 27 warnings generated. 2026-08-28T04:24:50.574033Z 01E [17/48] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-08-28T04:25:01.319810Z 01E 33 warnings generated. 2026-08-28T04:25:01.319820Z 01E [18/48] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-08-28T04:25:04.964402Z 01E 34 warnings generated. 2026-08-28T04:25:04.964692Z 01E [19/48] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-08-28T04:25:07.445146Z 01E 37 warnings generated. 2026-08-28T04:25:07.445301Z 01E [20/48] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-08-28T04:25:07.498203Z 01E 37 warnings generated. 2026-08-28T04:25:07.498571Z 01E [21/48] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-08-28T04:25:07.836713Z 01E 37 warnings generated. 2026-08-28T04:25:07.837062Z 01E [22/48] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-08-28T04:25:14.237758Z 01E 39 warnings generated. 2026-08-28T04:25:14.237773Z 01E [23/48] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-08-28T04:25:17.826280Z 01E 39 warnings generated. 2026-08-28T04:25:17.826569Z 01E [24/48] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-08-28T04:25:32.293502Z 01E 44 warnings generated. 2026-08-28T04:25:32.293515Z 01E [25/48] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-08-28T04:25:32.421199Z 01E 45 warnings generated. 2026-08-28T04:25:32.421624Z 01E [26/48] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-08-28T04:25:32.685754Z 01E 45 warnings generated. 2026-08-28T04:25:32.686065Z 01E [27/48] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-08-28T04:25:37.589382Z 01E 48 warnings generated. 2026-08-28T04:25:37.589693Z 01E [28/48] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-08-28T04:25:37.641228Z 01E 48 warnings generated. 2026-08-28T04:25:37.641555Z 01E [29/48] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-08-28T04:25:37.675631Z 01E 48 warnings generated. 2026-08-28T04:25:37.675852Z 01E [30/48] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-08-28T04:25:38.554258Z 01E 48 warnings generated. 2026-08-28T04:25:38.554463Z 01E [31/48] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-08-28T04:25:41.941533Z 01E 61 warnings generated. 2026-08-28T04:25:41.941790Z 01E [32/48] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-08-28T04:25:41.975392Z 01E 61 warnings generated. 2026-08-28T04:25:41.975412Z 01E [33/48] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-08-28T04:25:42.025977Z 01E 61 warnings generated. 2026-08-28T04:25:42.026395Z 01E [34/48] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-08-28T04:25:42.177199Z 01E 62 warnings generated. 2026-08-28T04:25:42.177737Z 01E [35/48] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-08-28T04:25:42.664977Z 01E 62 warnings generated. 2026-08-28T04:25:42.665388Z 01E [36/48] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-08-28T04:25:43.477564Z 01E 62 warnings generated. 2026-08-28T04:25:43.477876Z 01E [37/48] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-08-28T04:25:47.010314Z 01E 68 warnings generated. 2026-08-28T04:25:47.010594Z 01E [38/48] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-08-28T04:25:49.855894Z 01E 68 warnings generated. 2026-08-28T04:25:49.856244Z 01E [39/48] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-08-28T04:25:49.887168Z 01E 68 warnings generated. 2026-08-28T04:25:49.887541Z 01E [40/48] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-08-28T04:25:52.920628Z 01E 68 warnings generated. 2026-08-28T04:25:52.921001Z 01E [41/48] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-08-28T04:25:54.288024Z 01E 70 warnings generated. 2026-08-28T04:25:54.288340Z 01E [42/48] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-08-28T04:25:54.671188Z 01E 70 warnings generated. 2026-08-28T04:25:54.671578Z 01E [43/48] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-08-28T04:25:57.602114Z 01E 70 warnings generated. 2026-08-28T04:25:57.602466Z 01E [44/48] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-08-28T04:25:57.954767Z 01E 70 warnings generated. 2026-08-28T04:25:57.955102Z 01E [45/48] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-08-28T04:26:05.165703Z 01E 70 warnings generated. 2026-08-28T04:26:05.165716Z 01E [46/48] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-08-28T04:26:06.291833Z 01E 70 warnings generated. 2026-08-28T04:26:06.292244Z 01E [47/48] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-08-28T04:26:06.333956Z 01E 70 warnings generated. 2026-08-28T04:26:06.334193Z 01E [48/48] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-08-28T04:26:09.493850Z 01E 70 warnings generated. 2026-08-28T04:26:09.494892Z 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-08-28T04:26:09.494894Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-08-28T04:26:09.494895Z 01O | ^ 2026-08-28T04:26:09.494896Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-08-28T04:26:09.494897Z 01O 934 | const STYPE val = sd[soff]; \ 2026-08-28T04:26:09.494897Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.494898Z 01O /builds/Rdatatable/data.table/src/assign.c:711:7: note: Assuming 'len' is >= 1 2026-08-28T04:26:09.494899Z 01O 711 | if (len<1) return NULL; 2026-08-28T04:26:09.494900Z 01O | ^~~~~ 2026-08-28T04:26:09.494900Z 01O /builds/Rdatatable/data.table/src/assign.c:711:3: note: Taking false branch 2026-08-28T04:26:09.494900Z 01O 711 | if (len<1) return NULL; 2026-08-28T04:26:09.494901Z 01O | ^ 2026-08-28T04:26:09.494901Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: Assuming 'sourceLen' is < 0 2026-08-28T04:26:09.494902Z 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-08-28T04:26:09.494902Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.494903Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: '?' condition is false 2026-08-28T04:26:09.494903Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'slen' is not equal to 0 2026-08-28T04:26:09.494904Z 01O 713 | if (slen==0) return NULL; 2026-08-28T04:26:09.494904Z 01O | ^~~~~~~ 2026-08-28T04:26:09.494904Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2026-08-28T04:26:09.494905Z 01O 713 | if (slen==0) return NULL; 2026-08-28T04:26:09.494905Z 01O | ^ 2026-08-28T04:26:09.494906Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'sourceStart' is >= 0 2026-08-28T04:26:09.494906Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-08-28T04:26:09.494907Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.494907Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Left side of '||' is false 2026-08-28T04:26:09.494907Z 01O /builds/Rdatatable/data.table/src/assign.c:714:24: note: Assuming the condition is false 2026-08-28T04:26:09.494908Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-08-28T04:26:09.494908Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.494909Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-08-28T04:26:09.494909Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-08-28T04:26:09.494910Z 01O | ^ 2026-08-28T04:26:09.494910Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming the condition is false 2026-08-28T04:26:09.494910Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-08-28T04:26:09.494911Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.494911Z 01O /builds/Rdatatable/data.table/src/assign.c:716:22: note: Left side of '&&' is false 2026-08-28T04:26:09.494951Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-08-28T04:26:09.494952Z 01O | ^ 2026-08-28T04:26:09.494952Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming 'slen' is <= 1 2026-08-28T04:26:09.494953Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-08-28T04:26:09.494953Z 01O | ^~~~~~ 2026-08-28T04:26:09.494954Z 01O /builds/Rdatatable/data.table/src/assign.c:719:14: note: Left side of '&&' is false 2026-08-28T04:26:09.494954Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-08-28T04:26:09.494954Z 01O | ^ 2026-08-28T04:26:09.494955Z 01O /builds/Rdatatable/data.table/src/assign.c:723:7: note: Assuming 'colname' is not equal to NULL 2026-08-28T04:26:09.494955Z 01O 723 | if (colname==NULL) 2026-08-28T04:26:09.494956Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.494956Z 01O /builds/Rdatatable/data.table/src/assign.c:723:3: note: Taking false branch 2026-08-28T04:26:09.494956Z 01O 723 | if (colname==NULL) 2026-08-28T04:26:09.494957Z 01O | ^ 2026-08-28T04:26:09.494957Z 01O /builds/Rdatatable/data.table/src/assign.c:728:26: note: Assuming the condition is false 2026-08-28T04:26:09.494958Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-08-28T04:26:09.494958Z 01O | ^ 2026-08-28T04:26:09.494958Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-08-28T04:26:09.494959Z 01O 963 | #define isReal Rf_isReal 2026-08-28T04:26:09.494959Z 01O | ^ 2026-08-28T04:26:09.494960Z 01O /builds/Rdatatable/data.table/src/assign.c:728:41: note: Left side of '&&' is false 2026-08-28T04:26:09.494960Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-08-28T04:26:09.494961Z 01O | ^ 2026-08-28T04:26:09.494975Z 01O /builds/Rdatatable/data.table/src/assign.c:729:26: note: Assuming the condition is false 2026-08-28T04:26:09.494976Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-08-28T04:26:09.494976Z 01O | ^ 2026-08-28T04:26:09.494977Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-08-28T04:26:09.494977Z 01O 963 | #define isReal Rf_isReal 2026-08-28T04:26:09.494977Z 01O | ^ 2026-08-28T04:26:09.494978Z 01O /builds/Rdatatable/data.table/src/assign.c:729:41: note: Left side of '&&' is false 2026-08-28T04:26:09.494978Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-08-28T04:26:09.494979Z 01O | ^ 2026-08-28T04:26:09.494979Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Assuming 'sourceIsFactor' is false 2026-08-28T04:26:09.494980Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-08-28T04:26:09.494980Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.494980Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Left side of '||' is false 2026-08-28T04:26:09.494981Z 01O /builds/Rdatatable/data.table/src/assign.c:730:25: note: Assuming 'targetIsFactor' is false 2026-08-28T04:26:09.494981Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-08-28T04:26:09.494982Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.494982Z 01O /builds/Rdatatable/data.table/src/assign.c:730:3: note: Taking false branch 2026-08-28T04:26:09.494983Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-08-28T04:26:09.494983Z 01O | ^ 2026-08-28T04:26:09.494983Z 01O /builds/Rdatatable/data.table/src/assign.c:837:14: note: Assuming the condition is false 2026-08-28T04:26:09.494984Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-08-28T04:26:09.494991Z 01O | ^ 2026-08-28T04:26:09.495001Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-08-28T04:26:09.495002Z 01O 966 | #define isString Rf_isString 2026-08-28T04:26:09.495002Z 01O | ^ 2026-08-28T04:26:09.495003Z 01O /builds/Rdatatable/data.table/src/assign.c:837:31: note: Left side of '&&' is false 2026-08-28T04:26:09.495003Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-08-28T04:26:09.495004Z 01O | ^ 2026-08-28T04:26:09.495004Z 01O /builds/Rdatatable/data.table/src/assign.c:846:14: note: Assuming the condition is false 2026-08-28T04:26:09.495004Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-08-28T04:26:09.495005Z 01O | ^ 2026-08-28T04:26:09.495005Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-08-28T04:26:09.495006Z 01O 955 | #define isNewList Rf_isNewList 2026-08-28T04:26:09.495006Z 01O | ^ 2026-08-28T04:26:09.495017Z 01O /builds/Rdatatable/data.table/src/assign.c:846:32: note: Left side of '&&' is false 2026-08-28T04:26:09.495018Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-08-28T04:26:09.495018Z 01O | ^ 2026-08-28T04:26:09.495018Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Assuming the condition is false 2026-08-28T04:26:09.495019Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-08-28T04:26:09.495019Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.495020Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Left side of '||' is false 2026-08-28T04:26:09.495020Z 01O /builds/Rdatatable/data.table/src/assign.c:861:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-08-28T04:26:09.495021Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-08-28T04:26:09.495021Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.495022Z 01O /builds/Rdatatable/data.table/src/assign.c:861:75: note: Left side of '&&' is false 2026-08-28T04:26:09.495022Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-08-28T04:26:09.495023Z 01O | ^ 2026-08-28T04:26:09.495023Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: Assuming the condition is false 2026-08-28T04:26:09.495024Z 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-08-28T04:26:09.495024Z 01O | ^ 2026-08-28T04:26:09.495025Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495025Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495026Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.495026Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: '?' condition is false 2026-08-28T04:26:09.495027Z 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-08-28T04:26:09.495027Z 01O | ^ 2026-08-28T04:26:09.495028Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495028Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495028Z 01O | ^ 2026-08-28T04:26:09.495165Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Assuming the condition is true 2026-08-28T04:26:09.495174Z 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-08-28T04:26:09.495175Z 01O | ^ 2026-08-28T04:26:09.495176Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495176Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495177Z 01O | ^ 2026-08-28T04:26:09.495177Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-08-28T04:26:09.495178Z 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-08-28T04:26:09.495178Z 01O | ^ 2026-08-28T04:26:09.495179Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495179Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495180Z 01O | ^ 2026-08-28T04:26:09.495184Z 01O /builds/Rdatatable/data.table/src/assign.c:972:39: note: Assuming 'slen' is > 0 2026-08-28T04:26:09.495184Z 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-08-28T04:26:09.495185Z 01O | ^~~~~~ 2026-08-28T04:26:09.495193Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-08-28T04:26:09.495194Z 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-08-28T04:26:09.495195Z 01O | ^ 2026-08-28T04:26:09.495195Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495196Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495196Z 01O | ^ 2026-08-28T04:26:09.495196Z 01O /builds/Rdatatable/data.table/src/assign.c:972:49: note: Assuming 'slen' is equal to 'len' 2026-08-28T04:26:09.495197Z 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-08-28T04:26:09.495198Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.495201Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-08-28T04:26:09.495202Z 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-08-28T04:26:09.495203Z 01O | ^ 2026-08-28T04:26:09.495203Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495203Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495204Z 01O | ^ 2026-08-28T04:26:09.495369Z 01O /builds/Rdatatable/data.table/src/assign.c:972:62: note: Assuming 'soff' is not equal to 0 2026-08-28T04:26:09.495371Z 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-08-28T04:26:09.495373Z 01O | ^~~~~~~ 2026-08-28T04:26:09.495384Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: Assuming the condition is false 2026-08-28T04:26:09.495385Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-08-28T04:26:09.495401Z 01O | ^ 2026-08-28T04:26:09.495402Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495403Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495404Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.495420Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: '?' condition is false 2026-08-28T04:26:09.495422Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-08-28T04:26:09.495422Z 01O | ^ 2026-08-28T04:26:09.495422Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495423Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495423Z 01O | ^ 2026-08-28T04:26:09.495424Z 01O /builds/Rdatatable/data.table/src/assign.c:974:3: note: Control jumps to 'case 20:' at line 1102 2026-08-28T04:26:09.495424Z 01O 974 | switch (TYPEOF(target)) { 2026-08-28T04:26:09.495425Z 01O | ^ 2026-08-28T04:26:09.495425Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: 'len' is equal to 1 2026-08-28T04:26:09.495426Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-08-28T04:26:09.495426Z 01O | ^~~ 2026-08-28T04:26:09.495426Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-08-28T04:26:09.495427Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:21: note: Assuming the condition is true 2026-08-28T04:26:09.495427Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-08-28T04:26:09.495428Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.495428Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-08-28T04:26:09.495429Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-08-28T04:26:09.495429Z 01O | ^ 2026-08-28T04:26:09.495429Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:47: note: Assuming the condition is true 2026-08-28T04:26:09.495430Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-08-28T04:26:09.495430Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.495431Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:5: note: Taking true branch 2026-08-28T04:26:09.495431Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-08-28T04:26:09.495432Z 01O | ^ 2026-08-28T04:26:09.495550Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Assuming the condition is true 2026-08-28T04:26:09.495551Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-08-28T04:26:09.495551Z 01O | ^ 2026-08-28T04:26:09.495552Z 01O /builds/Rdatatable/data.table/src/assign.c:932:9: note: expanded from macro 'BODY' 2026-08-28T04:26:09.495552Z 01O 932 | if (length(where)) { \ 2026-08-28T04:26:09.495553Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.495553Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.495553Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.495554Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.495554Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-08-28T04:26:09.495555Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-08-28T04:26:09.495555Z 01O | ^ 2026-08-28T04:26:09.495556Z 01O /builds/Rdatatable/data.table/src/assign.c:932:5: note: expanded from macro 'BODY' 2026-08-28T04:26:09.495556Z 01O 932 | if (length(where)) { \ 2026-08-28T04:26:09.495564Z 01O | ^ 2026-08-28T04:26:09.495574Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: 'slen' is equal to 1 2026-08-28T04:26:09.495574Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-08-28T04:26:09.495575Z 01O | ^ 2026-08-28T04:26:09.495575Z 01O /builds/Rdatatable/data.table/src/assign.c:933:11: note: expanded from macro 'BODY' 2026-08-28T04:26:09.495576Z 01O 933 | if (slen==1) { \ 2026-08-28T04:26:09.495576Z 01O | ^~~~ 2026-08-28T04:26:09.495577Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-08-28T04:26:09.495577Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-08-28T04:26:09.495578Z 01O | ^ 2026-08-28T04:26:09.495578Z 01O /builds/Rdatatable/data.table/src/assign.c:933:7: note: expanded from macro 'BODY' 2026-08-28T04:26:09.495578Z 01O 933 | if (slen==1) { \ 2026-08-28T04:26:09.495579Z 01O | ^ 2026-08-28T04:26:09.495579Z 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-08-28T04:26:09.495580Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-08-28T04:26:09.495580Z 01O | ^ 2026-08-28T04:26:09.495581Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-08-28T04:26:09.495581Z 01O 934 | const STYPE val = sd[soff]; \ 2026-08-28T04:26:09.495582Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.495681Z 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-08-28T04:26:09.495682Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-08-28T04:26:09.495683Z 01O | ^~~~~ 2026-08-28T04:26:09.495683Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-08-28T04:26:09.495684Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-08-28T04:26:09.495684Z 01O | ^~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.495685Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-08-28T04:26:09.495685Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-08-28T04:26:09.495685Z 01O | ^ 2026-08-28T04:26:09.495686Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-08-28T04:26:09.495686Z 01O 6 | if (chin && chmatchdup) 2026-08-28T04:26:09.495687Z 01O | ^~~~ 2026-08-28T04:26:09.495687Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-08-28T04:26:09.495687Z 01O 6 | if (chin && chmatchdup) 2026-08-28T04:26:09.495688Z 01O | ^ 2026-08-28T04:26:09.495688Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-08-28T04:26:09.495689Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-08-28T04:26:09.495689Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.495689Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-08-28T04:26:09.495690Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-08-28T04:26:09.495690Z 01O | ^ 2026-08-28T04:26:09.495694Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-08-28T04:26:09.495695Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-08-28T04:26:09.495695Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.495695Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-08-28T04:26:09.495696Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-08-28T04:26:09.495696Z 01O | ^ 2026-08-28T04:26:09.495707Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-08-28T04:26:09.495708Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-08-28T04:26:09.495708Z 01O | ^ 2026-08-28T04:26:09.495709Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-08-28T04:26:09.495709Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-08-28T04:26:09.495710Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-08-28T04:26:09.495710Z 01O | ^~~~~~~ 2026-08-28T04:26:09.495710Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-08-28T04:26:09.495711Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-08-28T04:26:09.495711Z 01O | ^ 2026-08-28T04:26:09.495712Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-08-28T04:26:09.495712Z 01O 31 | if (tablelen==0) { 2026-08-28T04:26:09.495712Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.495713Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-08-28T04:26:09.495713Z 01O 31 | if (tablelen==0) { 2026-08-28T04:26:09.495714Z 01O | ^ 2026-08-28T04:26:09.495719Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-08-28T04:26:09.495720Z 01O 40 | if (isSymbol(x)) { 2026-08-28T04:26:09.495720Z 01O | ^ 2026-08-28T04:26:09.495720Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-08-28T04:26:09.495721Z 01O 953 | #define isSymbol Rf_isSymbol 2026-08-28T04:26:09.495721Z 01O | ^ 2026-08-28T04:26:09.495722Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-08-28T04:26:09.495722Z 01O 40 | if (isSymbol(x)) { 2026-08-28T04:26:09.495722Z 01O | ^ 2026-08-28T04:26:09.495723Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-08-28T04:26:09.495723Z 01O 46 | if (xlen==1) { 2026-08-28T04:26:09.495723Z 01O | ^~~~~~~ 2026-08-28T04:26:09.495724Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-08-28T04:26:09.495724Z 01O 46 | if (xlen==1) { 2026-08-28T04:26:09.495725Z 01O | ^ 2026-08-28T04:26:09.495810Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-08-28T04:26:09.495811Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.495811Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.495812Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-08-28T04:26:09.495817Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-08-28T04:26:09.495817Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.495818Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.495818Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-08-28T04:26:09.495819Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.495819Z 01O | ^ 2026-08-28T04:26:09.495819Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-08-28T04:26:09.495820Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-08-28T04:26:09.495820Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.495821Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.495821Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-08-28T04:26:09.495822Z 01O | ^ 2026-08-28T04:26:09.495822Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-08-28T04:26:09.495829Z 01O 66 | if (tl == 0) { 2026-08-28T04:26:09.495829Z 01O | ^~~~~~~ 2026-08-28T04:26:09.495830Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-08-28T04:26:09.495830Z 01O 66 | if (tl == 0) { 2026-08-28T04:26:09.495830Z 01O | ^ 2026-08-28T04:26:09.495831Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-08-28T04:26:09.495831Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-08-28T04:26:09.495832Z 01O | ^ 2026-08-28T04:26:09.495832Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.495832Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-08-28T04:26:09.495833Z 01O | ^ 2026-08-28T04:26:09.495833Z 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-08-28T04:26:09.495834Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-08-28T04:26:09.495834Z 01O | ^~~~~ 2026-08-28T04:26:09.495861Z 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-08-28T04:26:09.495862Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-08-28T04:26:09.495862Z 01O | ^~~~~ 2026-08-28T04:26:09.495863Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-08-28T04:26:09.495863Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-08-28T04:26:09.495864Z 01O | ^~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.495864Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-08-28T04:26:09.495865Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-08-28T04:26:09.495865Z 01O | ^ 2026-08-28T04:26:09.495865Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-08-28T04:26:09.495866Z 01O 6 | if (chin && chmatchdup) 2026-08-28T04:26:09.495866Z 01O | ^~~~ 2026-08-28T04:26:09.495866Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-08-28T04:26:09.495867Z 01O 6 | if (chin && chmatchdup) 2026-08-28T04:26:09.495867Z 01O | ^ 2026-08-28T04:26:09.495869Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-08-28T04:26:09.495870Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-08-28T04:26:09.495870Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.495871Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-08-28T04:26:09.495871Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-08-28T04:26:09.495872Z 01O | ^ 2026-08-28T04:26:09.495948Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-08-28T04:26:09.495949Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-08-28T04:26:09.495949Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.495950Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-08-28T04:26:09.495950Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-08-28T04:26:09.495951Z 01O | ^ 2026-08-28T04:26:09.495954Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-08-28T04:26:09.495955Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-08-28T04:26:09.495955Z 01O | ^ 2026-08-28T04:26:09.495956Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-08-28T04:26:09.495956Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-08-28T04:26:09.495964Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-08-28T04:26:09.495964Z 01O | ^~~~~~~ 2026-08-28T04:26:09.495964Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-08-28T04:26:09.495965Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-08-28T04:26:09.495965Z 01O | ^ 2026-08-28T04:26:09.495966Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-08-28T04:26:09.495966Z 01O 31 | if (tablelen==0) { 2026-08-28T04:26:09.495967Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.495967Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-08-28T04:26:09.495967Z 01O 31 | if (tablelen==0) { 2026-08-28T04:26:09.495968Z 01O | ^ 2026-08-28T04:26:09.496047Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-08-28T04:26:09.496048Z 01O 40 | if (isSymbol(x)) { 2026-08-28T04:26:09.496048Z 01O | ^ 2026-08-28T04:26:09.496048Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-08-28T04:26:09.496049Z 01O 953 | #define isSymbol Rf_isSymbol 2026-08-28T04:26:09.496049Z 01O | ^ 2026-08-28T04:26:09.496050Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-08-28T04:26:09.496050Z 01O 40 | if (isSymbol(x)) { 2026-08-28T04:26:09.496050Z 01O | ^ 2026-08-28T04:26:09.496051Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-08-28T04:26:09.496051Z 01O 46 | if (xlen==1) { 2026-08-28T04:26:09.496051Z 01O | ^~~~~~~ 2026-08-28T04:26:09.496052Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-08-28T04:26:09.496052Z 01O 46 | if (xlen==1) { 2026-08-28T04:26:09.496053Z 01O | ^ 2026-08-28T04:26:09.496053Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-08-28T04:26:09.496053Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.496054Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.496054Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-08-28T04:26:09.496055Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.496055Z 01O | ^ 2026-08-28T04:26:09.496055Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-08-28T04:26:09.496056Z 01O 99 | for (int i=0; i= 'tablelen' 2026-08-28T04:26:09.496171Z 01O 123 | for (int i=0; i= 'tablelen' 2026-08-28T04:26:09.496208Z 01O 125 | for (int i=0; i= 0 2026-08-28T04:26:09.496215Z 01O 129 | if (u<0) { 2026-08-28T04:26:09.496216Z 01O | ^~~ 2026-08-28T04:26:09.496233Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-08-28T04:26:09.496234Z 01O 129 | if (u<0) { 2026-08-28T04:26:09.496234Z 01O | ^ 2026-08-28T04:26:09.496260Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-08-28T04:26:09.496261Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-08-28T04:26:09.496587Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.496587Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-08-28T04:26:09.496587Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.496588Z 01O | ^ 2026-08-28T04:26:09.496588Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-08-28T04:26:09.496589Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.496589Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.496589Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-08-28T04:26:09.496590Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.496590Z 01O | ^ 2026-08-28T04:26:09.496591Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-08-28T04:26:09.496591Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-08-28T04:26:09.496812Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.496812Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-08-28T04:26:09.496813Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-08-28T04:26:09.496813Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.496814Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.496874Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-08-28T04:26:09.496876Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-08-28T04:26:09.496877Z 01O | ^ 2026-08-28T04:26:09.496878Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-08-28T04:26:09.496879Z 01O 99 | for (int i=0; i= 0 2026-08-28T04:26:09.496918Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-08-28T04:26:09.496918Z 01O | ^~~ 2026-08-28T04:26:09.496918Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-08-28T04:26:09.496919Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-08-28T04:26:09.496919Z 01O | ^ 2026-08-28T04:26:09.496920Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-08-28T04:26:09.496920Z 01O 144 | for (int i=0; i= 'nlhs' 2026-08-28T04:26:09.497034Z 01O 14 | for (int i=0; i= 'nlhs' 2026-08-28T04:26:09.497225Z 01O 14 | for (int i=0; i= 'nlhs' 2026-08-28T04:26:09.497431Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-08-28T04:26:09.498776Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.498776Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-08-28T04:26:09.498777Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-08-28T04:26:09.498777Z 01O | ^ 2026-08-28T04:26:09.498777Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.498778Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.498778Z 01O | ^ 2026-08-28T04:26:09.498779Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-08-28T04:26:09.498779Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-08-28T04:26:09.498779Z 01O | ^ 2026-08-28T04:26:09.498780Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.498780Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.498781Z 01O | ^ 2026-08-28T04:26:09.498802Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-08-28T04:26:09.498802Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-08-28T04:26:09.498803Z 01O | ^ 2026-08-28T04:26:09.498803Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.498804Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.498804Z 01O | ^ 2026-08-28T04:26:09.498805Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-08-28T04:26:09.498805Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-08-28T04:26:09.498805Z 01O | ^ 2026-08-28T04:26:09.498854Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-08-28T04:26:09.498855Z 01O 228 | for (int i=0; i= 'ncol' 2026-08-28T04:26:09.498857Z 01O 234 | for (int i=0; i= 'nidx' 2026-08-28T04:26:09.499004Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-08-28T04:26:09.499115Z 01O | ^~~~ 2026-08-28T04:26:09.499116Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-08-28T04:26:09.499116Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-08-28T04:26:09.499116Z 01O | ^ 2026-08-28T04:26:09.499117Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-08-28T04:26:09.499117Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-08-28T04:26:09.499175Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-08-28T04:26:09.500061Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-08-28T04:26:09.500249Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500253Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-08-28T04:26:09.500253Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-08-28T04:26:09.500254Z 01O | ^ 2026-08-28T04:26:09.500254Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-08-28T04:26:09.500255Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-08-28T04:26:09.500255Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500256Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-08-28T04:26:09.500256Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-08-28T04:26:09.500256Z 01O | ^ 2026-08-28T04:26:09.500312Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-08-28T04:26:09.500313Z 01O 326 | if (new_marks != marks) { 2026-08-28T04:26:09.500313Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500314Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-08-28T04:26:09.500314Z 01O 326 | if (new_marks != marks) { 2026-08-28T04:26:09.500315Z 01O | ^ 2026-08-28T04:26:09.500315Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-08-28T04:26:09.500316Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-08-28T04:26:09.500316Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500321Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-08-28T04:26:09.500321Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-08-28T04:26:09.500322Z 01O | ^ 2026-08-28T04:26:09.500322Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-08-28T04:26:09.500322Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-08-28T04:26:09.500323Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.500462Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-08-28T04:26:09.500464Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-08-28T04:26:09.500464Z 01O | ^ 2026-08-28T04:26:09.500465Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-08-28T04:26:09.500465Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-08-28T04:26:09.500466Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.500466Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-08-28T04:26:09.500467Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-08-28T04:26:09.500467Z 01O | ^ 2026-08-28T04:26:09.500468Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-08-28T04:26:09.500468Z 01O 338 | if (!anynotascii) 2026-08-28T04:26:09.500481Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.500482Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-08-28T04:26:09.500482Z 01O 338 | if (!anynotascii) 2026-08-28T04:26:09.500483Z 01O | ^ 2026-08-28T04:26:09.500486Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-08-28T04:26:09.500487Z 01O 340 | if (!IS_UTF8(s)) 2026-08-28T04:26:09.500487Z 01O | ^ 2026-08-28T04:26:09.500487Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-08-28T04:26:09.500488Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-08-28T04:26:09.500488Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500491Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-08-28T04:26:09.500491Z 01O 925 | #define getCharCE Rf_getCharCE 2026-08-28T04:26:09.500492Z 01O | ^ 2026-08-28T04:26:09.500494Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-08-28T04:26:09.500494Z 01O 340 | if (!IS_UTF8(s)) 2026-08-28T04:26:09.500495Z 01O | ^ 2026-08-28T04:26:09.500495Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-08-28T04:26:09.500496Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-08-28T04:26:09.500531Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-08-28T04:26:09.500542Z 01O 364 | for (int i=0; i> 2026-08-28T04:26:09.500803Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500803Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-08-28T04:26:09.500804Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500804Z 01O 43 | 2026-08-28T04:26:09.500805Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-08-28T04:26:09.500805Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500805Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-08-28T04:26:09.500806Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500806Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-08-28T04:26:09.500807Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500807Z 01O 47 | 2026-08-28T04:26:09.500807Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-08-28T04:26:09.500808Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500808Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-08-28T04:26:09.500809Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500809Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-08-28T04:26:09.500810Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500810Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-08-28T04:26:09.500811Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500820Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-08-28T04:26:09.500820Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500821Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-08-28T04:26:09.500821Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.500864Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-08-28T04:26:09.500865Z 01O 1410 | if (freadCleanup()) { 2026-08-28T04:26:09.500866Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.500866Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-08-28T04:26:09.500867Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-08-28T04:26:09.500867Z 01O | ^~~~ 2026-08-28T04:26:09.500867Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-08-28T04:26:09.500868Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-08-28T04:26:09.500868Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-08-28T04:26:09.500869Z 01O | ^~~~~~~ 2026-08-28T04:26:09.500869Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-08-28T04:26:09.500870Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-08-28T04:26:09.500870Z 01O | ^ 2026-08-28T04:26:09.500874Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-08-28T04:26:09.500875Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-08-28T04:26:09.500875Z 01O | ^~~~ 2026-08-28T04:26:09.500876Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-08-28T04:26:09.500876Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-08-28T04:26:09.500877Z 01O | ^ 2026-08-28T04:26:09.500877Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-08-28T04:26:09.500878Z 01O 169 | if (mmp != NULL) { 2026-08-28T04:26:09.500878Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.500878Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-08-28T04:26:09.500879Z 01O 169 | if (mmp != NULL) { 2026-08-28T04:26:09.500879Z 01O | ^ 2026-08-28T04:26:09.500879Z 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-08-28T04:26:09.500880Z 01O 193 | quoteRule = -1; 2026-08-28T04:26:09.500880Z 01O | ^~ 2026-08-28T04:26:09.500986Z 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-08-28T04:26:09.500987Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-08-28T04:26:09.500988Z 01O | ^ ~~ 2026-08-28T04:26:09.500988Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-08-28T04:26:09.500988Z 01O 1410 | if (freadCleanup()) { 2026-08-28T04:26:09.500989Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.500993Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-08-28T04:26:09.500993Z 01O 1410 | if (freadCleanup()) { 2026-08-28T04:26:09.500994Z 01O | ^ 2026-08-28T04:26:09.500994Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.501004Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-08-28T04:26:09.501004Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501005Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-08-28T04:26:09.501005Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-08-28T04:26:09.501005Z 01O | ^ 2026-08-28T04:26:09.501006Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-08-28T04:26:09.501006Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-08-28T04:26:09.501007Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.501007Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-08-28T04:26:09.501007Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-08-28T04:26:09.501008Z 01O | ^ 2026-08-28T04:26:09.501011Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-08-28T04:26:09.501011Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-08-28T04:26:09.501012Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.501012Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-08-28T04:26:09.501013Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-08-28T04:26:09.501013Z 01O | ^ 2026-08-28T04:26:09.501013Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-08-28T04:26:09.501014Z 01O 1420 | if (nth <= 0) nth = 1; 2026-08-28T04:26:09.501014Z 01O | ^~~ 2026-08-28T04:26:09.501014Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-08-28T04:26:09.501015Z 01O 1420 | if (nth <= 0) nth = 1; 2026-08-28T04:26:09.501015Z 01O | ^ 2026-08-28T04:26:09.501086Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-08-28T04:26:09.501088Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-08-28T04:26:09.501089Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501090Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-08-28T04:26:09.501091Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-08-28T04:26:09.501092Z 01O | ^ 2026-08-28T04:26:09.501093Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-08-28T04:26:09.501094Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-08-28T04:26:09.501095Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501103Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-08-28T04:26:09.501104Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-08-28T04:26:09.501106Z 01O | ^ 2026-08-28T04:26:09.501106Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-08-28T04:26:09.501107Z 01O 1436 | while (*nastr) { 2026-08-28T04:26:09.501108Z 01O | ^ 2026-08-28T04:26:09.501109Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-08-28T04:26:09.501110Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-08-28T04:26:09.501111Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501111Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-08-28T04:26:09.501113Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-08-28T04:26:09.501113Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501142Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-08-28T04:26:09.501144Z 01O 1464 | if (verbose) { 2026-08-28T04:26:09.501154Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501198Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-08-28T04:26:09.501199Z 01O 1464 | if (verbose) { 2026-08-28T04:26:09.501199Z 01O | ^ 2026-08-28T04:26:09.501200Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-08-28T04:26:09.501200Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-08-28T04:26:09.501201Z 01O | ^ 2026-08-28T04:26:09.501205Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-08-28T04:26:09.501205Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-08-28T04:26:09.501206Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501206Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-08-28T04:26:09.501207Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-08-28T04:26:09.501207Z 01O | ^ 2026-08-28T04:26:09.501227Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-08-28T04:26:09.501227Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-08-28T04:26:09.501228Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501228Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-08-28T04:26:09.501229Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-08-28T04:26:09.501229Z 01O | ^ 2026-08-28T04:26:09.501229Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-08-28T04:26:09.501230Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-08-28T04:26:09.501231Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.501231Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-08-28T04:26:09.501231Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-08-28T04:26:09.501232Z 01O | ^ 2026-08-28T04:26:09.501232Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-08-28T04:26:09.501233Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-08-28T04:26:09.501233Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501250Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-08-28T04:26:09.501251Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-08-28T04:26:09.501252Z 01O | ^ 2026-08-28T04:26:09.501252Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-08-28T04:26:09.501252Z 01O 1515 | if (args.input) { 2026-08-28T04:26:09.501253Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.501253Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-08-28T04:26:09.501253Z 01O 1515 | if (args.input) { 2026-08-28T04:26:09.501254Z 01O | ^ 2026-08-28T04:26:09.501254Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-08-28T04:26:09.501255Z 01O 1522 | else if (args.filename) { 2026-08-28T04:26:09.501255Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.501255Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-08-28T04:26:09.501256Z 01O 1522 | else if (args.filename) { 2026-08-28T04:26:09.501256Z 01O | ^ 2026-08-28T04:26:09.501383Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-08-28T04:26:09.501385Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-08-28T04:26:09.501402Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501402Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-08-28T04:26:09.501403Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-08-28T04:26:09.501403Z 01O | ^ 2026-08-28T04:26:09.501404Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-08-28T04:26:09.501404Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-08-28T04:26:09.501405Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501405Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-08-28T04:26:09.501406Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-08-28T04:26:09.501406Z 01O | ^~~~~~ 2026-08-28T04:26:09.501406Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-08-28T04:26:09.501407Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-08-28T04:26:09.501407Z 01O | ^ 2026-08-28T04:26:09.501412Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-08-28T04:26:09.501412Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-08-28T04:26:09.501413Z 01O | ^ ~~ 2026-08-28T04:26:09.501413Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-08-28T04:26:09.501414Z 01O 1780 | pos = ch; 2026-08-28T04:26:09.501414Z 01O | ^ ~~ 2026-08-28T04:26:09.501438Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-08-28T04:26:09.501438Z 01O 1780 | pos = ch; 2026-08-28T04:26:09.501439Z 01O | ^ ~~ 2026-08-28T04:26:09.501442Z 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-08-28T04:26:09.501443Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-08-28T04:26:09.501443Z 01O | ^~ 2026-08-28T04:26:09.501533Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-08-28T04:26:09.501534Z 01O 38 | enum quote_rule_t 2026-08-28T04:26:09.501535Z 01O | ~~~~~^~~~~~~~~~~~ 2026-08-28T04:26:09.501535Z 01O 39 | { 2026-08-28T04:26:09.501536Z 01O | ~ 2026-08-28T04:26:09.501536Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-08-28T04:26:09.501536Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501537Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-08-28T04:26:09.501537Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501538Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-08-28T04:26:09.501538Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501539Z 01O 43 | 2026-08-28T04:26:09.501539Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-08-28T04:26:09.501539Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501540Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-08-28T04:26:09.501540Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501541Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-08-28T04:26:09.501541Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501541Z 01O 47 | 2026-08-28T04:26:09.501542Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-08-28T04:26:09.501542Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501552Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-08-28T04:26:09.501553Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501553Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-08-28T04:26:09.501554Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501554Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-08-28T04:26:09.501555Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501555Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-08-28T04:26:09.501556Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501556Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-08-28T04:26:09.501557Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501557Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-08-28T04:26:09.501557Z 01O 1410 | if (freadCleanup()) { 2026-08-28T04:26:09.501558Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.501558Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-08-28T04:26:09.501559Z 01O 1410 | if (freadCleanup()) { 2026-08-28T04:26:09.501559Z 01O | ^ 2026-08-28T04:26:09.501559Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.501560Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-08-28T04:26:09.501560Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501561Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-08-28T04:26:09.501561Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-08-28T04:26:09.501561Z 01O | ^ 2026-08-28T04:26:09.501562Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-08-28T04:26:09.501562Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-08-28T04:26:09.501563Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.501563Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-08-28T04:26:09.501563Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-08-28T04:26:09.501564Z 01O | ^ 2026-08-28T04:26:09.501590Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-08-28T04:26:09.501591Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-08-28T04:26:09.501591Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.501592Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-08-28T04:26:09.501592Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-08-28T04:26:09.501593Z 01O | ^ 2026-08-28T04:26:09.501593Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-08-28T04:26:09.501594Z 01O 1420 | if (nth <= 0) nth = 1; 2026-08-28T04:26:09.501594Z 01O | ^~~ 2026-08-28T04:26:09.501644Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-08-28T04:26:09.501645Z 01O 1420 | if (nth <= 0) nth = 1; 2026-08-28T04:26:09.501645Z 01O | ^ 2026-08-28T04:26:09.501646Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-08-28T04:26:09.501646Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-08-28T04:26:09.501647Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501654Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-08-28T04:26:09.501654Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-08-28T04:26:09.501655Z 01O | ^ 2026-08-28T04:26:09.501663Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-08-28T04:26:09.501664Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-08-28T04:26:09.501664Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501665Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-08-28T04:26:09.501665Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-08-28T04:26:09.501666Z 01O | ^ 2026-08-28T04:26:09.501666Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-08-28T04:26:09.501667Z 01O 1436 | while (*nastr) { 2026-08-28T04:26:09.501667Z 01O | ^ 2026-08-28T04:26:09.501667Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-08-28T04:26:09.501668Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-08-28T04:26:09.501668Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501669Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-08-28T04:26:09.501669Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-08-28T04:26:09.501670Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501728Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-08-28T04:26:09.501729Z 01O 1464 | if (verbose) { 2026-08-28T04:26:09.501729Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501730Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-08-28T04:26:09.501730Z 01O 1464 | if (verbose) { 2026-08-28T04:26:09.501731Z 01O | ^ 2026-08-28T04:26:09.501731Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-08-28T04:26:09.501731Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-08-28T04:26:09.501732Z 01O | ^ 2026-08-28T04:26:09.501735Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-08-28T04:26:09.501736Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-08-28T04:26:09.501736Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501739Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-08-28T04:26:09.501740Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-08-28T04:26:09.501740Z 01O | ^ 2026-08-28T04:26:09.501740Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-08-28T04:26:09.501741Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-08-28T04:26:09.501742Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.501793Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-08-28T04:26:09.501794Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-08-28T04:26:09.501795Z 01O | ^ 2026-08-28T04:26:09.501795Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-08-28T04:26:09.501796Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-08-28T04:26:09.501796Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.501824Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-08-28T04:26:09.501825Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-08-28T04:26:09.501834Z 01O | ^ 2026-08-28T04:26:09.501834Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-08-28T04:26:09.501835Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-08-28T04:26:09.501835Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501835Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-08-28T04:26:09.501836Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-08-28T04:26:09.501836Z 01O | ^ 2026-08-28T04:26:09.501837Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-08-28T04:26:09.501837Z 01O 1515 | if (args.input) { 2026-08-28T04:26:09.501837Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.501838Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-08-28T04:26:09.501838Z 01O 1515 | if (args.input) { 2026-08-28T04:26:09.501839Z 01O | ^ 2026-08-28T04:26:09.501839Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-08-28T04:26:09.501839Z 01O 1522 | else if (args.filename) { 2026-08-28T04:26:09.501840Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.501840Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-08-28T04:26:09.501841Z 01O 1522 | else if (args.filename) { 2026-08-28T04:26:09.501841Z 01O | ^ 2026-08-28T04:26:09.501841Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-08-28T04:26:09.501842Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-08-28T04:26:09.501842Z 01O | ^ 2026-08-28T04:26:09.501927Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-08-28T04:26:09.501928Z 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-08-28T04:26:09.501929Z 01O | ^ 2026-08-28T04:26:09.501929Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-08-28T04:26:09.501930Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-08-28T04:26:09.501930Z 01O | ^~~~~~~ 2026-08-28T04:26:09.501948Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-08-28T04:26:09.501949Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-08-28T04:26:09.501950Z 01O | ^ 2026-08-28T04:26:09.501950Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-08-28T04:26:09.501950Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-08-28T04:26:09.501951Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.501951Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-08-28T04:26:09.501952Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-08-28T04:26:09.501952Z 01O | ^ 2026-08-28T04:26:09.501953Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-08-28T04:26:09.501953Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-08-28T04:26:09.501953Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.501954Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-08-28T04:26:09.501954Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-08-28T04:26:09.501955Z 01O | ^ 2026-08-28T04:26:09.502096Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-08-28T04:26:09.502098Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-08-28T04:26:09.502112Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.502113Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-08-28T04:26:09.502114Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-08-28T04:26:09.502116Z 01O | ^ 2026-08-28T04:26:09.502116Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-08-28T04:26:09.502117Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-08-28T04:26:09.502118Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.502125Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-08-28T04:26:09.502127Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-08-28T04:26:09.502128Z 01O | ^ 2026-08-28T04:26:09.502128Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-08-28T04:26:09.502129Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-08-28T04:26:09.502131Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.502131Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-08-28T04:26:09.502132Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-08-28T04:26:09.502133Z 01O | ^ 2026-08-28T04:26:09.502134Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-08-28T04:26:09.502135Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-08-28T04:26:09.502136Z 01O | ^~~~~~~ 2026-08-28T04:26:09.502167Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-08-28T04:26:09.502168Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-08-28T04:26:09.502168Z 01O | ^ 2026-08-28T04:26:09.502169Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-08-28T04:26:09.502169Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-08-28T04:26:09.502170Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502178Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-08-28T04:26:09.502179Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-08-28T04:26:09.502179Z 01O | ^ 2026-08-28T04:26:09.502180Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-08-28T04:26:09.502180Z 01O 1649 | while (ch < sample_end) { 2026-08-28T04:26:09.502181Z 01O | ^ 2026-08-28T04:26:09.502181Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-08-28T04:26:09.502181Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-08-28T04:26:09.502182Z 01O | ^~~~~~~ 2026-08-28T04:26:09.502182Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-08-28T04:26:09.502183Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-08-28T04:26:09.502183Z 01O | ^ 2026-08-28T04:26:09.502183Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-08-28T04:26:09.502184Z 01O 1674 | if (args.filename) { 2026-08-28T04:26:09.502184Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.502185Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-08-28T04:26:09.502185Z 01O 1674 | if (args.filename) { 2026-08-28T04:26:09.502186Z 01O | ^ 2026-08-28T04:26:09.502309Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-08-28T04:26:09.502310Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-08-28T04:26:09.502320Z 01O | ^~~~~~~ 2026-08-28T04:26:09.502321Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-08-28T04:26:09.502321Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-08-28T04:26:09.502322Z 01O | ^ 2026-08-28T04:26:09.502322Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-08-28T04:26:09.502323Z 01O 1752 | if (args.skipString) { 2026-08-28T04:26:09.502323Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502323Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-08-28T04:26:09.502324Z 01O 1752 | if (args.skipString) { 2026-08-28T04:26:09.502324Z 01O | ^ 2026-08-28T04:26:09.502329Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-08-28T04:26:09.502329Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-08-28T04:26:09.502330Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502330Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-08-28T04:26:09.502331Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-08-28T04:26:09.502331Z 01O | ^ 2026-08-28T04:26:09.502331Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-08-28T04:26:09.502332Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-08-28T04:26:09.502333Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.502333Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-08-28T04:26:09.502333Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-08-28T04:26:09.502334Z 01O | ^ 2026-08-28T04:26:09.502411Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-08-28T04:26:09.502412Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-08-28T04:26:09.502413Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.502413Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-08-28T04:26:09.502414Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-08-28T04:26:09.502415Z 01O | ^ 2026-08-28T04:26:09.502415Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-08-28T04:26:09.502416Z 01O 1789 | if (verbose) { 2026-08-28T04:26:09.502416Z 01O | ^~~~~~~ 2026-08-28T04:26:09.502418Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-08-28T04:26:09.502419Z 01O 1789 | if (verbose) { 2026-08-28T04:26:09.502419Z 01O | ^ 2026-08-28T04:26:09.502423Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-08-28T04:26:09.502424Z 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-08-28T04:26:09.502425Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.502425Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-08-28T04:26:09.502426Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-08-28T04:26:09.502426Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-08-28T04:26:09.502427Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502427Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-08-28T04:26:09.502440Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-08-28T04:26:09.502441Z 01O | ^ 2026-08-28T04:26:09.502442Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-08-28T04:26:09.502442Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-08-28T04:26:09.502443Z 01O | ^~~~~~~ 2026-08-28T04:26:09.502443Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-08-28T04:26:09.502443Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-08-28T04:26:09.502444Z 01O | ^ 2026-08-28T04:26:09.502542Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-08-28T04:26:09.502543Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-08-28T04:26:09.502543Z 01O | ^~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502544Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-08-28T04:26:09.502544Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-08-28T04:26:09.502545Z 01O | ^ 2026-08-28T04:26:09.502545Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-08-28T04:26:09.502546Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-08-28T04:26:09.502546Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.502547Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-08-28T04:26:09.502547Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-08-28T04:26:09.502547Z 01O 1836 | if (args.sep == '\0') { 2026-08-28T04:26:09.502548Z 01O | ^~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502548Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-08-28T04:26:09.502549Z 01O 1836 | if (args.sep == '\0') { 2026-08-28T04:26:09.502549Z 01O | ^ 2026-08-28T04:26:09.502552Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-08-28T04:26:09.502553Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-08-28T04:26:09.502553Z 01O | ^~~~~~~ 2026-08-28T04:26:09.502553Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-08-28T04:26:09.502554Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-08-28T04:26:09.502554Z 01O | ^ 2026-08-28T04:26:09.502558Z 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-08-28T04:26:09.502558Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-08-28T04:26:09.502559Z 01O | ^~ 2026-08-28T04:26:09.502559Z 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-08-28T04:26:09.502560Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-08-28T04:26:09.502561Z 01O | ^~~~~~~~~~~~~ ~~ 2026-08-28T04:26:09.502561Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-08-28T04:26:09.502562Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-08-28T04:26:09.502562Z 01O | ^~~~~~~~~~~~~ ~~ 2026-08-28T04:26:09.502646Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-08-28T04:26:09.502658Z 01O 2278 | estnrow = 1; 2026-08-28T04:26:09.502659Z 01O | ^ ~ 2026-08-28T04:26:09.502659Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-08-28T04:26:09.502660Z 01O 2278 | estnrow = 1; 2026-08-28T04:26:09.502660Z 01O | ^ ~ 2026-08-28T04:26:09.502666Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-08-28T04:26:09.502667Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-08-28T04:26:09.502668Z 01O | ^ ~ 2026-08-28T04:26:09.502668Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-08-28T04:26:09.502669Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-08-28T04:26:09.502669Z 01O | ^ ~ 2026-08-28T04:26:09.502669Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-08-28T04:26:09.502670Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-08-28T04:26:09.502670Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502671Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-08-28T04:26:09.502671Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-08-28T04:26:09.502672Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502672Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-08-28T04:26:09.502673Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-08-28T04:26:09.502673Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502673Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-08-28T04:26:09.502674Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-08-28T04:26:09.502674Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502675Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-08-28T04:26:09.502675Z 01O 2487 | nth = imin(nJumps, nth); 2026-08-28T04:26:09.502676Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502676Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-08-28T04:26:09.502677Z 01O 2487 | nth = imin(nJumps, nth); 2026-08-28T04:26:09.502677Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502782Z 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-08-28T04:26:09.502784Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-08-28T04:26:09.502784Z 01O | ^~~~~~ 2026-08-28T04:26:09.502785Z 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-08-28T04:26:09.502786Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-08-28T04:26:09.502786Z 01O | ^~~~~~ 2026-08-28T04:26:09.502789Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-08-28T04:26:09.502790Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-08-28T04:26:09.502791Z 01O | ^ ~~~ 2026-08-28T04:26:09.502800Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: note: Value stored to 'tLast' is never read 2026-08-28T04:26:09.502801Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-08-28T04:26:09.502801Z 01O | ^ ~~~ 2026-08-28T04:26:09.502875Z 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-08-28T04:26:09.502876Z 01O 789 | if (state->buffer[i] == '\n') { 2026-08-28T04:26:09.502877Z 01O | ^ ~~~~~~ 2026-08-28T04:26:09.502877Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-08-28T04:26:09.502878Z 01O 768 | if (state->outfile == NULL) { 2026-08-28T04:26:09.502878Z 01O | ^ 2026-08-28T04:26:09.502879Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-08-28T04:26:09.502879Z 01O 768 | if (state->outfile == NULL) { 2026-08-28T04:26:09.502880Z 01O | ^ 2026-08-28T04:26:09.502880Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-08-28T04:26:09.502880Z 01O 772 | state->buffer = malloc(chunk_size); 2026-08-28T04:26:09.502881Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502881Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-08-28T04:26:09.502882Z 01O 773 | if (!state->buffer) { 2026-08-28T04:26:09.502882Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.502882Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-08-28T04:26:09.502883Z 01O 773 | if (!state->buffer) { 2026-08-28T04:26:09.502883Z 01O | ^ 2026-08-28T04:26:09.502901Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-08-28T04:26:09.502902Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-08-28T04:26:09.502903Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.502903Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.502904Z 01O 780 | while (true) { 2026-08-28T04:26:09.502904Z 01O | ^ 2026-08-28T04:26:09.502904Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-08-28T04:26:09.502905Z 01O 782 | if (nread == 0) { 2026-08-28T04:26:09.502905Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.502905Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-08-28T04:26:09.502906Z 01O 782 | if (nread == 0) { 2026-08-28T04:26:09.502906Z 01O | ^ 2026-08-28T04:26:09.502910Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-08-28T04:26:09.502911Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-08-28T04:26:09.502911Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.502911Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-08-28T04:26:09.502912Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-08-28T04:26:09.502912Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-08-28T04:26:09.502913Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.502994Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-08-28T04:26:09.502995Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-08-28T04:26:09.502996Z 01O | ^ 2026-08-28T04:26:09.502996Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-08-28T04:26:09.502997Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-08-28T04:26:09.502997Z 01O | ^ 2026-08-28T04:26:09.503008Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.503010Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-08-28T04:26:09.503010Z 01O | ^ 2026-08-28T04:26:09.503011Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-08-28T04:26:09.503012Z 01O 789 | if (state->buffer[i] == '\n') { 2026-08-28T04:26:09.503013Z 01O | ^ ~~~~~~ 2026-08-28T04:26:09.503020Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-08-28T04:26:09.503022Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-08-28T04:26:09.503023Z 01O | ^ ~~~~~~~~~~~~~~ 2026-08-28T04:26:09.503024Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-08-28T04:26:09.503025Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-08-28T04:26:09.503026Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.503027Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-08-28T04:26:09.503028Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-08-28T04:26:09.503029Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.503111Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-08-28T04:26:09.503112Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-08-28T04:26:09.503113Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.503113Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-08-28T04:26:09.503114Z 01O 768 | if (state->outfile == NULL) { 2026-08-28T04:26:09.503114Z 01O | ^ 2026-08-28T04:26:09.503114Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-08-28T04:26:09.503115Z 01O 768 | if (state->outfile == NULL) { 2026-08-28T04:26:09.503115Z 01O | ^ 2026-08-28T04:26:09.503115Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-08-28T04:26:09.503116Z 01O 773 | if (!state->buffer) { 2026-08-28T04:26:09.503116Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.503117Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-08-28T04:26:09.503117Z 01O 773 | if (!state->buffer) { 2026-08-28T04:26:09.503118Z 01O | ^ 2026-08-28T04:26:09.503123Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-08-28T04:26:09.503123Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-08-28T04:26:09.503124Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.503124Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.503125Z 01O 780 | while (true) { 2026-08-28T04:26:09.503125Z 01O | ^ 2026-08-28T04:26:09.503125Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-08-28T04:26:09.503126Z 01O 782 | if (nread == 0) { 2026-08-28T04:26:09.503126Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.503126Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-08-28T04:26:09.503127Z 01O 782 | if (nread == 0) { 2026-08-28T04:26:09.503127Z 01O | ^ 2026-08-28T04:26:09.503128Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-08-28T04:26:09.503128Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-08-28T04:26:09.503128Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.503137Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-08-28T04:26:09.503138Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-08-28T04:26:09.503138Z 01O | ^ 2026-08-28T04:26:09.503230Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-08-28T04:26:09.503231Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-08-28T04:26:09.503232Z 01O | ^ ~~~~~~~~~~~~~~ 2026-08-28T04:26:09.503238Z 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-08-28T04:26:09.503239Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-08-28T04:26:09.503239Z 01O | ^ ~~~~~~~~~~~~~ 2026-08-28T04:26:09.503240Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-08-28T04:26:09.503240Z 01O 768 | if (state->outfile == NULL) { 2026-08-28T04:26:09.503241Z 01O | ^ 2026-08-28T04:26:09.503241Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-08-28T04:26:09.503241Z 01O 768 | if (state->outfile == NULL) { 2026-08-28T04:26:09.503242Z 01O | ^ 2026-08-28T04:26:09.503242Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-08-28T04:26:09.503242Z 01O 772 | state->buffer = malloc(chunk_size); 2026-08-28T04:26:09.503243Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.503243Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-08-28T04:26:09.503244Z 01O 773 | if (!state->buffer) { 2026-08-28T04:26:09.503244Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.503244Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-08-28T04:26:09.503245Z 01O 773 | if (!state->buffer) { 2026-08-28T04:26:09.503245Z 01O | ^ 2026-08-28T04:26:09.503246Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-08-28T04:26:09.503246Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-08-28T04:26:09.503246Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.503247Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.503247Z 01O 780 | while (true) { 2026-08-28T04:26:09.503248Z 01O | ^ 2026-08-28T04:26:09.503248Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-08-28T04:26:09.503249Z 01O 782 | if (nread == 0) { 2026-08-28T04:26:09.503249Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.503252Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-08-28T04:26:09.503253Z 01O 782 | if (nread == 0) { 2026-08-28T04:26:09.503253Z 01O | ^ 2026-08-28T04:26:09.503253Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-08-28T04:26:09.503254Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-08-28T04:26:09.503254Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.503255Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-08-28T04:26:09.503255Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-08-28T04:26:09.503256Z 01O | ^ 2026-08-28T04:26:09.503305Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-08-28T04:26:09.503306Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-08-28T04:26:09.503315Z 01O | ^ ~~~~~~~~~~~~~ 2026-08-28T04:26:09.503411Z 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-08-28T04:26:09.503412Z 01O 1364 | next[p] = tail; 2026-08-28T04:26:09.503413Z 01O | ^ 2026-08-28T04:26:09.503413Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.503413Z 01O 1506 | if (verbose) 2026-08-28T04:26:09.503414Z 01O | ^~~~~~~ 2026-08-28T04:26:09.503414Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-08-28T04:26:09.503415Z 01O 1506 | if (verbose) 2026-08-28T04:26:09.503415Z 01O | ^ 2026-08-28T04:26:09.503415Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-08-28T04:26:09.503416Z 01O 1508 | if (k == 0) { 2026-08-28T04:26:09.503416Z 01O | ^~~~~~ 2026-08-28T04:26:09.503416Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-08-28T04:26:09.503417Z 01O 1508 | if (k == 0) { 2026-08-28T04:26:09.503417Z 01O | ^ 2026-08-28T04:26:09.503418Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-08-28T04:26:09.503418Z 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-08-28T04:26:09.503419Z 01O | ^~~~~~ 2026-08-28T04:26:09.503419Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-08-28T04:26:09.503419Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-08-28T04:26:09.503420Z 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-08-28T04:26:09.503421Z 01O | ^~~~~~ 2026-08-28T04:26:09.503421Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-08-28T04:26:09.503421Z 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-08-28T04:26:09.503422Z 01O | ^ 2026-08-28T04:26:09.503422Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-08-28T04:26:09.503423Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.503423Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.503423Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-08-28T04:26:09.503424Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.503424Z 01O | ^ 2026-08-28T04:26:09.503424Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-08-28T04:26:09.503425Z 01O 1567 | if (nx_mod_k) { 2026-08-28T04:26:09.503425Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.503426Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-08-28T04:26:09.503426Z 01O 1567 | if (nx_mod_k) { 2026-08-28T04:26:09.503426Z 01O | ^ 2026-08-28T04:26:09.503445Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-08-28T04:26:09.503446Z 01O 1574 | bool even = !(k % 2); 2026-08-28T04:26:09.503446Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.503446Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-08-28T04:26:09.503447Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-08-28T04:26:09.503447Z 01O | ^~~~ 2026-08-28T04:26:09.503448Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-08-28T04:26:09.503508Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-08-28T04:26:09.503509Z 01O 1579 | if (!o) { // # nocov start 2026-08-28T04:26:09.503510Z 01O | ^~ 2026-08-28T04:26:09.503510Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-08-28T04:26:09.503522Z 01O 1579 | if (!o) { // # nocov start 2026-08-28T04:26:09.503523Z 01O | ^ 2026-08-28T04:26:09.503523Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-08-28T04:26:09.503523Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-08-28T04:26:09.503524Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.503529Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-08-28T04:26:09.503529Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-08-28T04:26:09.503530Z 01O | ^ 2026-08-28T04:26:09.503530Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-08-28T04:26:09.503530Z 01O 1588 | if (!m) { // # nocov start 2026-08-28T04:26:09.503531Z 01O | ^~ 2026-08-28T04:26:09.503531Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-08-28T04:26:09.503532Z 01O 1588 | if (!m) { // # nocov start 2026-08-28T04:26:09.503532Z 01O | ^ 2026-08-28T04:26:09.503532Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-08-28T04:26:09.503533Z 01O 1594 | if (!n) { // # nocov start 2026-08-28T04:26:09.503533Z 01O | ^~ 2026-08-28T04:26:09.503533Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-08-28T04:26:09.503534Z 01O 1594 | if (!n) { // # nocov start 2026-08-28T04:26:09.503534Z 01O | ^ 2026-08-28T04:26:09.503534Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-08-28T04:26:09.503535Z 01O 1600 | if (!s) { // # nocov start 2026-08-28T04:26:09.503535Z 01O | ^~ 2026-08-28T04:26:09.503536Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-08-28T04:26:09.503536Z 01O 1600 | if (!s) { // # nocov start 2026-08-28T04:26:09.503536Z 01O | ^ 2026-08-28T04:26:09.503611Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-08-28T04:26:09.503612Z 01O 1606 | if (!prev) { // # nocov start 2026-08-28T04:26:09.503613Z 01O | ^~~~~ 2026-08-28T04:26:09.503613Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-08-28T04:26:09.503614Z 01O 1606 | if (!prev) { // # nocov start 2026-08-28T04:26:09.503614Z 01O | ^ 2026-08-28T04:26:09.503614Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-08-28T04:26:09.503615Z 01O 1612 | if (!next) { // # nocov start 2026-08-28T04:26:09.503615Z 01O | ^~~~~ 2026-08-28T04:26:09.503616Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-08-28T04:26:09.503616Z 01O 1612 | if (!next) { // # nocov start 2026-08-28T04:26:09.503617Z 01O | ^ 2026-08-28T04:26:09.503619Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-08-28T04:26:09.503619Z 01O 1618 | if (verbose) 2026-08-28T04:26:09.503620Z 01O | ^~~~~~~ 2026-08-28T04:26:09.503620Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-08-28T04:26:09.503621Z 01O 1618 | if (verbose) 2026-08-28T04:26:09.503621Z 01O | ^ 2026-08-28T04:26:09.503659Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-08-28T04:26:09.503660Z 01O 1621 | for (int j=0; j= 'k' 2026-08-28T04:26:09.503725Z 01O 1358 | for (int i=0; i=0) { 2026-08-28T04:26:09.503824Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.503845Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-08-28T04:26:09.503846Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.503846Z 01O | ^ 2026-08-28T04:26:09.503896Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-08-28T04:26:09.503897Z 01O 1567 | if (nx_mod_k) { 2026-08-28T04:26:09.503897Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.503898Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-08-28T04:26:09.503898Z 01O 1567 | if (nx_mod_k) { 2026-08-28T04:26:09.503898Z 01O | ^ 2026-08-28T04:26:09.503899Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-08-28T04:26:09.503899Z 01O 1574 | bool even = !(k % 2); 2026-08-28T04:26:09.503900Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.503900Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-08-28T04:26:09.503900Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-08-28T04:26:09.503901Z 01O | ^~~~ 2026-08-28T04:26:09.503901Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-08-28T04:26:09.503902Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-08-28T04:26:09.503902Z 01O 1579 | if (!o) { // # nocov start 2026-08-28T04:26:09.503902Z 01O | ^~ 2026-08-28T04:26:09.503903Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-08-28T04:26:09.503903Z 01O 1579 | if (!o) { // # nocov start 2026-08-28T04:26:09.503904Z 01O | ^ 2026-08-28T04:26:09.503968Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-08-28T04:26:09.503969Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-08-28T04:26:09.503970Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.503970Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-08-28T04:26:09.503971Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-08-28T04:26:09.503971Z 01O | ^ 2026-08-28T04:26:09.503974Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-08-28T04:26:09.503974Z 01O 1588 | if (!m) { // # nocov start 2026-08-28T04:26:09.503975Z 01O | ^~ 2026-08-28T04:26:09.503975Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-08-28T04:26:09.503976Z 01O 1588 | if (!m) { // # nocov start 2026-08-28T04:26:09.503976Z 01O | ^ 2026-08-28T04:26:09.503976Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-08-28T04:26:09.503977Z 01O 1594 | if (!n) { // # nocov start 2026-08-28T04:26:09.503977Z 01O | ^~ 2026-08-28T04:26:09.503980Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-08-28T04:26:09.503981Z 01O 1594 | if (!n) { // # nocov start 2026-08-28T04:26:09.503981Z 01O | ^ 2026-08-28T04:26:09.503981Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-08-28T04:26:09.503982Z 01O 1600 | if (!s) { // # nocov start 2026-08-28T04:26:09.503991Z 01O | ^~ 2026-08-28T04:26:09.503991Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-08-28T04:26:09.503992Z 01O 1600 | if (!s) { // # nocov start 2026-08-28T04:26:09.503992Z 01O | ^ 2026-08-28T04:26:09.503992Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-08-28T04:26:09.503993Z 01O 1606 | if (!prev) { // # nocov start 2026-08-28T04:26:09.503993Z 01O | ^~~~~ 2026-08-28T04:26:09.503994Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-08-28T04:26:09.503994Z 01O 1606 | if (!prev) { // # nocov start 2026-08-28T04:26:09.503994Z 01O | ^ 2026-08-28T04:26:09.504015Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-08-28T04:26:09.504015Z 01O 1612 | if (!next) { // # nocov start 2026-08-28T04:26:09.504016Z 01O | ^~~~~ 2026-08-28T04:26:09.504016Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-08-28T04:26:09.504017Z 01O 1612 | if (!next) { // # nocov start 2026-08-28T04:26:09.504017Z 01O | ^ 2026-08-28T04:26:09.504017Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-08-28T04:26:09.504018Z 01O 1618 | if (verbose) 2026-08-28T04:26:09.504018Z 01O | ^~~~~~~ 2026-08-28T04:26:09.504018Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-08-28T04:26:09.504019Z 01O 1618 | if (verbose) 2026-08-28T04:26:09.504019Z 01O | ^ 2026-08-28T04:26:09.504019Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-08-28T04:26:09.504020Z 01O 1621 | for (int j=0; j= 'b' 2026-08-28T04:26:09.504200Z 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-08-28T04:26:09.504264Z 01O | ^~~ 2026-08-28T04:26:09.504264Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-08-28T04:26:09.504264Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.504265Z 01O 1633 | for (int i=0; i= 'm' 2026-08-28T04:26:09.504561Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-08-28T04:26:09.504562Z 01O | ^~~~~ 2026-08-28T04:26:09.504562Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-08-28T04:26:09.504563Z 01O 1393 | if (SMALL(i)) { 2026-08-28T04:26:09.504563Z 01O | ^ 2026-08-28T04:26:09.504620Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-08-28T04:26:09.504621Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-08-28T04:26:09.504622Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.504622Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-08-28T04:26:09.504623Z 01O 1393 | if (SMALL(i)) { 2026-08-28T04:26:09.504623Z 01O | ^ 2026-08-28T04:26:09.504628Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-08-28T04:26:09.504629Z 01O 1396 | if (m[0] == i) { 2026-08-28T04:26:09.504629Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.504630Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-08-28T04:26:09.504630Z 01O 1396 | if (m[0] == i) { 2026-08-28T04:26:09.504631Z 01O | ^ 2026-08-28T04:26:09.504631Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-08-28T04:26:09.504631Z 01O 1399 | if (s[0] > 0) { 2026-08-28T04:26:09.504632Z 01O | ^ 2026-08-28T04:26:09.504640Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-08-28T04:26:09.504641Z 01O 1400 | m[0] = prev[m[0]]; 2026-08-28T04:26:09.504641Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.504642Z 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-08-28T04:26:09.504642Z 01O 1471 | m[0] = prev[m[0]]; 2026-08-28T04:26:09.504643Z 01O | ^ 2026-08-28T04:26:09.504643Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.504644Z 01O 1506 | if (verbose) 2026-08-28T04:26:09.504644Z 01O | ^~~~~~~ 2026-08-28T04:26:09.504644Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-08-28T04:26:09.504645Z 01O 1506 | if (verbose) 2026-08-28T04:26:09.504645Z 01O | ^ 2026-08-28T04:26:09.504645Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-08-28T04:26:09.504646Z 01O 1508 | if (k == 0) { 2026-08-28T04:26:09.504646Z 01O | ^~~~~~ 2026-08-28T04:26:09.504647Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-08-28T04:26:09.504647Z 01O 1508 | if (k == 0) { 2026-08-28T04:26:09.504647Z 01O | ^ 2026-08-28T04:26:09.504726Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-08-28T04:26:09.504728Z 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-08-28T04:26:09.504729Z 01O | ^~~~~~ 2026-08-28T04:26:09.504729Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-08-28T04:26:09.504736Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-08-28T04:26:09.504736Z 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-08-28T04:26:09.504737Z 01O | ^~~~~~ 2026-08-28T04:26:09.504737Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-08-28T04:26:09.504738Z 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-08-28T04:26:09.504738Z 01O | ^ 2026-08-28T04:26:09.504739Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-08-28T04:26:09.504739Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.504740Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.504740Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-08-28T04:26:09.504740Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.504741Z 01O | ^ 2026-08-28T04:26:09.504741Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-08-28T04:26:09.504742Z 01O 1567 | if (nx_mod_k) { 2026-08-28T04:26:09.504742Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.504742Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-08-28T04:26:09.504743Z 01O 1567 | if (nx_mod_k) { 2026-08-28T04:26:09.504743Z 01O | ^ 2026-08-28T04:26:09.504743Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-08-28T04:26:09.504744Z 01O 1574 | bool even = !(k % 2); 2026-08-28T04:26:09.504744Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.504744Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-08-28T04:26:09.504745Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-08-28T04:26:09.504745Z 01O | ^~~~ 2026-08-28T04:26:09.504746Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-08-28T04:26:09.504765Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-08-28T04:26:09.504776Z 01O 1579 | if (!o) { // # nocov start 2026-08-28T04:26:09.504776Z 01O | ^~ 2026-08-28T04:26:09.504777Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-08-28T04:26:09.504777Z 01O 1579 | if (!o) { // # nocov start 2026-08-28T04:26:09.504777Z 01O | ^ 2026-08-28T04:26:09.504778Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-08-28T04:26:09.504778Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-08-28T04:26:09.504779Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.504798Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-08-28T04:26:09.504798Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-08-28T04:26:09.504799Z 01O | ^ 2026-08-28T04:26:09.504799Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-08-28T04:26:09.504800Z 01O 1588 | if (!m) { // # nocov start 2026-08-28T04:26:09.504800Z 01O | ^~ 2026-08-28T04:26:09.504800Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-08-28T04:26:09.504801Z 01O 1588 | if (!m) { // # nocov start 2026-08-28T04:26:09.504801Z 01O | ^ 2026-08-28T04:26:09.504802Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-08-28T04:26:09.504802Z 01O 1594 | if (!n) { // # nocov start 2026-08-28T04:26:09.504802Z 01O | ^~ 2026-08-28T04:26:09.504960Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-08-28T04:26:09.504962Z 01O 1594 | if (!n) { // # nocov start 2026-08-28T04:26:09.504963Z 01O | ^ 2026-08-28T04:26:09.504963Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-08-28T04:26:09.504964Z 01O 1600 | if (!s) { // # nocov start 2026-08-28T04:26:09.504964Z 01O | ^~ 2026-08-28T04:26:09.504964Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-08-28T04:26:09.504965Z 01O 1600 | if (!s) { // # nocov start 2026-08-28T04:26:09.504965Z 01O | ^ 2026-08-28T04:26:09.504965Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-08-28T04:26:09.504966Z 01O 1606 | if (!prev) { // # nocov start 2026-08-28T04:26:09.504966Z 01O | ^~~~~ 2026-08-28T04:26:09.504967Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-08-28T04:26:09.504967Z 01O 1606 | if (!prev) { // # nocov start 2026-08-28T04:26:09.504967Z 01O | ^ 2026-08-28T04:26:09.504968Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-08-28T04:26:09.504968Z 01O 1612 | if (!next) { // # nocov start 2026-08-28T04:26:09.504969Z 01O | ^~~~~ 2026-08-28T04:26:09.504969Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-08-28T04:26:09.504969Z 01O 1612 | if (!next) { // # nocov start 2026-08-28T04:26:09.504970Z 01O | ^ 2026-08-28T04:26:09.504970Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-08-28T04:26:09.504970Z 01O 1618 | if (verbose) 2026-08-28T04:26:09.504971Z 01O | ^~~~~~~ 2026-08-28T04:26:09.504971Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-08-28T04:26:09.504972Z 01O 1618 | if (verbose) 2026-08-28T04:26:09.504972Z 01O | ^ 2026-08-28T04:26:09.504975Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-08-28T04:26:09.504975Z 01O 1621 | for (int j=0; j= 'b' 2026-08-28T04:26:09.505201Z 01O 1621 | for (int j=0; j= 'm' 2026-08-28T04:26:09.505459Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-08-28T04:26:09.505459Z 01O | ^~~~~ 2026-08-28T04:26:09.505478Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-08-28T04:26:09.505479Z 01O 1460 | if (SMALL(i)) { 2026-08-28T04:26:09.505479Z 01O | ^ 2026-08-28T04:26:09.505480Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-08-28T04:26:09.505489Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-08-28T04:26:09.505489Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.505490Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-08-28T04:26:09.505490Z 01O 1460 | if (SMALL(i)) { 2026-08-28T04:26:09.505491Z 01O | ^ 2026-08-28T04:26:09.505496Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-08-28T04:26:09.505496Z 01O 1463 | if (m[0] == i) { 2026-08-28T04:26:09.505497Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.505497Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-08-28T04:26:09.505498Z 01O 1463 | if (m[0] == i) { 2026-08-28T04:26:09.505498Z 01O | ^ 2026-08-28T04:26:09.505498Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-08-28T04:26:09.505499Z 01O 1467 | } else if (even && n[0] == i) { 2026-08-28T04:26:09.505499Z 01O | ^~~~ 2026-08-28T04:26:09.505499Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-08-28T04:26:09.505500Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-08-28T04:26:09.505500Z 01O 1467 | } else if (even && n[0] == i) { 2026-08-28T04:26:09.505501Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.505501Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-08-28T04:26:09.505502Z 01O 1467 | } else if (even && n[0] == i) { 2026-08-28T04:26:09.505502Z 01O | ^ 2026-08-28T04:26:09.505502Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-08-28T04:26:09.505503Z 01O 1470 | if (s[0] > 0) { 2026-08-28T04:26:09.505503Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.505504Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-08-28T04:26:09.505504Z 01O 1470 | if (s[0] > 0) { 2026-08-28T04:26:09.505504Z 01O | ^ 2026-08-28T04:26:09.505505Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-08-28T04:26:09.505505Z 01O 1471 | m[0] = prev[m[0]]; 2026-08-28T04:26:09.505506Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.505583Z 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-08-28T04:26:09.505584Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-08-28T04:26:09.505585Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.505585Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.505586Z 01O 1506 | if (verbose) 2026-08-28T04:26:09.505586Z 01O | ^~~~~~~ 2026-08-28T04:26:09.505587Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-08-28T04:26:09.505587Z 01O 1506 | if (verbose) 2026-08-28T04:26:09.505587Z 01O | ^ 2026-08-28T04:26:09.505588Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-08-28T04:26:09.505588Z 01O 1508 | if (k == 0) { 2026-08-28T04:26:09.505589Z 01O | ^~~~~~ 2026-08-28T04:26:09.505589Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-08-28T04:26:09.505589Z 01O 1508 | if (k == 0) { 2026-08-28T04:26:09.505590Z 01O | ^ 2026-08-28T04:26:09.505593Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-08-28T04:26:09.505593Z 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-08-28T04:26:09.505594Z 01O | ^~~~~~ 2026-08-28T04:26:09.505594Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-08-28T04:26:09.505603Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-08-28T04:26:09.505604Z 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-08-28T04:26:09.505604Z 01O | ^~~~~~ 2026-08-28T04:26:09.505661Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-08-28T04:26:09.505662Z 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-08-28T04:26:09.505662Z 01O | ^ 2026-08-28T04:26:09.505663Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-08-28T04:26:09.505663Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.505663Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.505664Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-08-28T04:26:09.505664Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.505665Z 01O | ^ 2026-08-28T04:26:09.505665Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-08-28T04:26:09.505665Z 01O 1549 | for (uint64_t i=0; i= 0 2026-08-28T04:26:09.505831Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.505831Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.505832Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-08-28T04:26:09.505832Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.505832Z 01O | ^ 2026-08-28T04:26:09.505833Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-08-28T04:26:09.505833Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-08-28T04:26:09.506034Z 01O 1549 | for (uint64_t i=0; i= 0 2026-08-28T04:26:09.506536Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.506536Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.506537Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-08-28T04:26:09.506537Z 01O 1548 | if (hasnf>=0) { 2026-08-28T04:26:09.506537Z 01O | ^ 2026-08-28T04:26:09.506538Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-08-28T04:26:09.506538Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-08-28T04:26:09.506642Z 01O 1549 | for (uint64_t i=0; i 0 2026-08-28T04:26:09.507236Z 01O 541 | bool truehasnf = hasnf>0; 2026-08-28T04:26:09.507237Z 01O | ^~~~~~~ 2026-08-28T04:26:09.507237Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-08-28T04:26:09.507238Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-08-28T04:26:09.507316Z 01O 542 | for (uint64_t i=0; i 0 2026-08-28T04:26:09.507600Z 01O 616 | bool truehasnf = hasnf>0; 2026-08-28T04:26:09.507601Z 01O | ^~~~~~~ 2026-08-28T04:26:09.507601Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-08-28T04:26:09.507602Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-08-28T04:26:09.507617Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-08-28T04:26:09.507831Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-08-28T04:26:09.508146Z 01O | ^ 2026-08-28T04:26:09.508272Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-08-28T04:26:09.508273Z 01O 888 | if (i+1 == ik) { 2026-08-28T04:26:09.508274Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.508274Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-08-28T04:26:09.508275Z 01O 888 | if (i+1 == ik) { 2026-08-28T04:26:09.508275Z 01O | ^ 2026-08-28T04:26:09.508275Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-08-28T04:26:09.508276Z 01O 890 | } else if (i+1 < ik) { 2026-08-28T04:26:09.508276Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.508277Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-08-28T04:26:09.508277Z 01O 890 | } else if (i+1 < ik) { 2026-08-28T04:26:09.508277Z 01O | ^ 2026-08-28T04:26:09.508289Z 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-08-28T04:26:09.508290Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-08-28T04:26:09.508291Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.508291Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-08-28T04:26:09.508292Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-08-28T04:26:09.508292Z 01O | ^ 2026-08-28T04:26:09.508293Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-08-28T04:26:09.508293Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-08-28T04:26:09.508294Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.508294Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-08-28T04:26:09.508294Z 01O 998 | if (!nc) { // total NA for x 2026-08-28T04:26:09.508295Z 01O | ^~ 2026-08-28T04:26:09.508295Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-08-28T04:26:09.508296Z 01O 998 | if (!nc) { // total NA for x 2026-08-28T04:26:09.508296Z 01O | ^ 2026-08-28T04:26:09.508296Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.508297Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-08-28T04:26:09.508814Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-08-28T04:26:09.509032Z 01O | ^~~~~~~ 2026-08-28T04:26:09.509032Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-08-28T04:26:09.509033Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-08-28T04:26:09.509033Z 01O | ^ 2026-08-28T04:26:09.509036Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-08-28T04:26:09.509037Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-08-28T04:26:09.509037Z 01O | ^ 2026-08-28T04:26:09.509037Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-08-28T04:26:09.509038Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-08-28T04:26:09.509038Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.509039Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-08-28T04:26:09.509041Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-08-28T04:26:09.509050Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-08-28T04:26:09.509050Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.509051Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-08-28T04:26:09.509051Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-08-28T04:26:09.509051Z 01O | ^ 2026-08-28T04:26:09.509057Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-08-28T04:26:09.509058Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-08-28T04:26:09.509058Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.509059Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-08-28T04:26:09.509059Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-08-28T04:26:09.509060Z 01O | ^ 2026-08-28T04:26:09.509060Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-08-28T04:26:09.509060Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-08-28T04:26:09.509244Z 01O | ^~~~~~~ 2026-08-28T04:26:09.509246Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-08-28T04:26:09.509247Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-08-28T04:26:09.509247Z 01O | ^ 2026-08-28T04:26:09.509256Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-08-28T04:26:09.509256Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-08-28T04:26:09.509257Z 01O | ^ 2026-08-28T04:26:09.509257Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-08-28T04:26:09.509257Z 01O 122 | if (!counts || !TMP ) { 2026-08-28T04:26:09.509258Z 01O | ^~~~~~~ 2026-08-28T04:26:09.509258Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-08-28T04:26:09.509267Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-08-28T04:26:09.509267Z 01O 122 | if (!counts || !TMP ) { 2026-08-28T04:26:09.509267Z 01O | ^~~~ 2026-08-28T04:26:09.509270Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-08-28T04:26:09.509270Z 01O 122 | if (!counts || !TMP ) { 2026-08-28T04:26:09.509271Z 01O | ^ 2026-08-28T04:26:09.509273Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-08-28T04:26:09.509274Z 01O 127 | for (int b=0; b= 'howMany' 2026-08-28T04:26:09.509292Z 01O 131 | for (int i=0; i= 'highSize' 2026-08-28T04:26:09.509338Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-08-28T04:26:09.509742Z 01O | ^ 2026-08-28T04:26:09.509743Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-08-28T04:26:09.509744Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-08-28T04:26:09.509745Z 01O | ^ ~ 2026-08-28T04:26:09.509746Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-08-28T04:26:09.509747Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-08-28T04:26:09.509747Z 01O | ^ ~ 2026-08-28T04:26:09.509748Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-08-28T04:26:09.509749Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.509750Z 01O | ^ 2026-08-28T04:26:09.509760Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.509761Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.509762Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.509763Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-08-28T04:26:09.509764Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.509765Z 01O | ^ 2026-08-28T04:26:09.509765Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.509766Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.509767Z 01O | ^ 2026-08-28T04:26:09.509768Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-08-28T04:26:09.509769Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.509769Z 01O | ^ 2026-08-28T04:26:09.509776Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.509777Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.509778Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.509779Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-08-28T04:26:09.509779Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.509780Z 01O | ^ 2026-08-28T04:26:09.509781Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.509782Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.509783Z 01O | ^ 2026-08-28T04:26:09.509788Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-08-28T04:26:09.509789Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.509789Z 01O | ^ 2026-08-28T04:26:09.509790Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.509802Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.509803Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.509839Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-08-28T04:26:09.509841Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.509842Z 01O | ^ 2026-08-28T04:26:09.509843Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-08-28T04:26:09.509844Z 01O 1120 | if (!isVectorAtomic(x)) 2026-08-28T04:26:09.509845Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.509846Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-08-28T04:26:09.509847Z 01O 1120 | if (!isVectorAtomic(x)) 2026-08-28T04:26:09.509847Z 01O | ^ 2026-08-28T04:26:09.509856Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-08-28T04:26:09.509857Z 01O 1122 | if (inherits(x, "factor")) 2026-08-28T04:26:09.509858Z 01O | ^ 2026-08-28T04:26:09.509858Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-08-28T04:26:09.509859Z 01O 933 | #define inherits Rf_inherits 2026-08-28T04:26:09.509860Z 01O | ^ 2026-08-28T04:26:09.509861Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-08-28T04:26:09.509862Z 01O 1122 | if (inherits(x, "factor")) 2026-08-28T04:26:09.509862Z 01O | ^ 2026-08-28T04:26:09.509863Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-08-28T04:26:09.509864Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-08-28T04:26:09.509865Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.509865Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-08-28T04:26:09.509866Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-08-28T04:26:09.509867Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.509868Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-08-28T04:26:09.509876Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-08-28T04:26:09.509877Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-08-28T04:26:09.509878Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.509879Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-08-28T04:26:09.509880Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-08-28T04:26:09.509881Z 01O | ^ 2026-08-28T04:26:09.509882Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-08-28T04:26:09.509882Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-08-28T04:26:09.509883Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.509884Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-08-28T04:26:09.509885Z 01O 1129 | if (!s) 2026-08-28T04:26:09.509886Z 01O | ^~ 2026-08-28T04:26:09.509886Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-08-28T04:26:09.509887Z 01O 1129 | if (!s) 2026-08-28T04:26:09.509888Z 01O | ^ 2026-08-28T04:26:09.509894Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-08-28T04:26:09.509895Z 01O 1131 | for (int i=0; i= 'n' 2026-08-28T04:26:09.509913Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-08-28T04:26:09.510013Z 01O | ^ 2026-08-28T04:26:09.510014Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-08-28T04:26:09.510015Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-08-28T04:26:09.510016Z 01O | ^ ~ 2026-08-28T04:26:09.510016Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-08-28T04:26:09.510017Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-08-28T04:26:09.510018Z 01O | ^ ~ 2026-08-28T04:26:09.510024Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-08-28T04:26:09.510025Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-08-28T04:26:09.510026Z 01O | ~~~~ ^ 2026-08-28T04:26:09.510027Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-08-28T04:26:09.510028Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.510028Z 01O | ^ 2026-08-28T04:26:09.510062Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.510067Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.510068Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510081Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-08-28T04:26:09.510082Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.510082Z 01O | ^ 2026-08-28T04:26:09.510083Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.510084Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.510085Z 01O | ^ 2026-08-28T04:26:09.510091Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-08-28T04:26:09.510092Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.510093Z 01O | ^ 2026-08-28T04:26:09.510094Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.510095Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.510096Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.510125Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-08-28T04:26:09.510126Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.510127Z 01O | ^ 2026-08-28T04:26:09.510128Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.510129Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.510130Z 01O | ^ 2026-08-28T04:26:09.510138Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-08-28T04:26:09.510138Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.510139Z 01O | ^ 2026-08-28T04:26:09.510140Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.510141Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.510142Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510143Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-08-28T04:26:09.510144Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-08-28T04:26:09.510145Z 01O | ^ 2026-08-28T04:26:09.510145Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-08-28T04:26:09.510146Z 01O 1120 | if (!isVectorAtomic(x)) 2026-08-28T04:26:09.510147Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510148Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-08-28T04:26:09.510149Z 01O 1120 | if (!isVectorAtomic(x)) 2026-08-28T04:26:09.510149Z 01O | ^ 2026-08-28T04:26:09.510180Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-08-28T04:26:09.510181Z 01O 1122 | if (inherits(x, "factor")) 2026-08-28T04:26:09.510182Z 01O | ^ 2026-08-28T04:26:09.510183Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-08-28T04:26:09.510183Z 01O 933 | #define inherits Rf_inherits 2026-08-28T04:26:09.510184Z 01O | ^ 2026-08-28T04:26:09.510185Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-08-28T04:26:09.510186Z 01O 1122 | if (inherits(x, "factor")) 2026-08-28T04:26:09.510187Z 01O | ^ 2026-08-28T04:26:09.510190Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-08-28T04:26:09.510191Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-08-28T04:26:09.510192Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.510208Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-08-28T04:26:09.510209Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-08-28T04:26:09.510210Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.510210Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-08-28T04:26:09.510242Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-08-28T04:26:09.510243Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-08-28T04:26:09.510244Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.510245Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-08-28T04:26:09.510246Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-08-28T04:26:09.510247Z 01O | ^ 2026-08-28T04:26:09.510247Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-08-28T04:26:09.510248Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-08-28T04:26:09.510249Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510250Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-08-28T04:26:09.510251Z 01O 1129 | if (!s) 2026-08-28T04:26:09.510252Z 01O | ^~ 2026-08-28T04:26:09.510256Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-08-28T04:26:09.510257Z 01O 1129 | if (!s) 2026-08-28T04:26:09.510258Z 01O | ^ 2026-08-28T04:26:09.510263Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-08-28T04:26:09.510264Z 01O 1131 | for (int i=0; i= 'n' 2026-08-28T04:26:09.510423Z 01O 1135 | for (int i=0; i' is a garbage value 2026-08-28T04:26:09.510463Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-08-28T04:26:09.510464Z 01O | ~~~~ ^ 2026-08-28T04:26:09.510502Z 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-08-28T04:26:09.510504Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-08-28T04:26:09.510505Z 01O | ^ 2026-08-28T04:26:09.510506Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-08-28T04:26:09.510507Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-08-28T04:26:09.510508Z 01O | ^ 2026-08-28T04:26:09.510513Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-08-28T04:26:09.510514Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-08-28T04:26:09.510515Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.510515Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-08-28T04:26:09.510516Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-08-28T04:26:09.510517Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510518Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-08-28T04:26:09.510519Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-08-28T04:26:09.510520Z 01O | ^ 2026-08-28T04:26:09.510525Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-08-28T04:26:09.510526Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-08-28T04:26:09.510527Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510528Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-08-28T04:26:09.510528Z 01O 54 | if (!ret) 2026-08-28T04:26:09.510529Z 01O | ^~~~ 2026-08-28T04:26:09.510530Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-08-28T04:26:09.510530Z 01O 54 | if (!ret) 2026-08-28T04:26:09.510531Z 01O | ^ 2026-08-28T04:26:09.510532Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-08-28T04:26:09.510533Z 01O 59 | if (!table) { 2026-08-28T04:26:09.510533Z 01O | ^~~~~~ 2026-08-28T04:26:09.510534Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-08-28T04:26:09.510535Z 01O 59 | if (!table) { 2026-08-28T04:26:09.510535Z 01O | ^ 2026-08-28T04:26:09.510539Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-08-28T04:26:09.510540Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-08-28T04:26:09.510541Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510546Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-08-28T04:26:09.510547Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-08-28T04:26:09.510548Z 01O | ^ 2026-08-28T04:26:09.510548Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-08-28T04:26:09.510549Z 01O 71 | ret->shift = HASH_BITS - k; 2026-08-28T04:26:09.510550Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510614Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-08-28T04:26:09.510615Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-08-28T04:26:09.510627Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510628Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-08-28T04:26:09.510629Z 01O 133 | if (!new_h) return NULL; 2026-08-28T04:26:09.510630Z 01O | ^~~~~ 2026-08-28T04:26:09.510631Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-08-28T04:26:09.510632Z 01O 133 | if (!new_h) return NULL; 2026-08-28T04:26:09.510632Z 01O | ^ 2026-08-28T04:26:09.510639Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-08-28T04:26:09.510640Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-08-28T04:26:09.510641Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.510642Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.510643Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-08-28T04:26:09.510644Z 01O | ^ 2026-08-28T04:26:09.510644Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-08-28T04:26:09.510645Z 01O 138 | if (h->table[i].key) 2026-08-28T04:26:09.510646Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510647Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-08-28T04:26:09.510648Z 01O 138 | if (h->table[i].key) 2026-08-28T04:26:09.510648Z 01O | ^ 2026-08-28T04:26:09.510649Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-08-28T04:26:09.510650Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-08-28T04:26:09.510650Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510651Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-08-28T04:26:09.510652Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-08-28T04:26:09.510653Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.510689Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-08-28T04:26:09.510691Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-08-28T04:26:09.510692Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510693Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-08-28T04:26:09.510693Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-08-28T04:26:09.510694Z 01O | ^ 2026-08-28T04:26:09.510700Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-08-28T04:26:09.510701Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-08-28T04:26:09.510702Z 01O | ^ 2026-08-28T04:26:09.510728Z 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-08-28T04:26:09.510730Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-08-28T04:26:09.510731Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-08-28T04:26:09.510758Z 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-08-28T04:26:09.510760Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-08-28T04:26:09.510761Z 01O | ^ 2026-08-28T04:26:09.510762Z 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-08-28T04:26:09.510775Z 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-08-28T04:26:09.510777Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-08-28T04:26:09.510778Z 01O | ^ 2026-08-28T04:26:09.510779Z 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-08-28T04:26:09.510907Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-08-28T04:26:09.510909Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-08-28T04:26:09.510910Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510911Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-08-28T04:26:09.510912Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-08-28T04:26:09.510913Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510946Z 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-08-28T04:26:09.510947Z 01O 11 | if (ISNAN(x[i])) { 2026-08-28T04:26:09.510948Z 01O | ^ 2026-08-28T04:26:09.510949Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.510950Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.510951Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.510951Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.510952Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.510952Z 01O | ^ 2026-08-28T04:26:09.510952Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.510953Z 01O 187 | if (verbose) 2026-08-28T04:26:09.510954Z 01O | ^~~~~~~ 2026-08-28T04:26:09.510954Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.510955Z 01O 187 | if (verbose) 2026-08-28T04:26:09.510956Z 01O | ^ 2026-08-28T04:26:09.510956Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.510957Z 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-08-28T04:26:09.510959Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.510960Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.511098Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.511100Z 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-08-28T04:26:09.511101Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.511102Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.511103Z 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-08-28T04:26:09.511105Z 01O | ^ 2026-08-28T04:26:09.511105Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.511106Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.511107Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.511119Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.511120Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511121Z 01O | ^ 2026-08-28T04:26:09.511121Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511122Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511124Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.511124Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.511125Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511126Z 01O | ^ 2026-08-28T04:26:09.511127Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511128Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511129Z 01O | ^ 2026-08-28T04:26:09.511161Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.511163Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511164Z 01O | ^ 2026-08-28T04:26:09.511164Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511165Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511167Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.511173Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.511174Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511175Z 01O | ^ 2026-08-28T04:26:09.511182Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511183Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511184Z 01O | ^ 2026-08-28T04:26:09.511185Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.511186Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511187Z 01O | ^ 2026-08-28T04:26:09.511188Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511189Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511190Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.511223Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.511224Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511225Z 01O | ^ 2026-08-28T04:26:09.511226Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.511227Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.511227Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.511228Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.511229Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.511229Z 01O | ^ 2026-08-28T04:26:09.511230Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.511231Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.511334Z 01O 229 | for (R_len_t i=0; i= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-08-28T04:26:09.511804Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.511805Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.511812Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.511813Z 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-08-28T04:26:09.511814Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.511822Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.511823Z 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-08-28T04:26:09.511824Z 01O | ^ 2026-08-28T04:26:09.511825Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.511826Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.511827Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.511827Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.511828Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511829Z 01O | ^ 2026-08-28T04:26:09.511830Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511831Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511832Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.511837Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.511838Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511839Z 01O | ^ 2026-08-28T04:26:09.511839Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511841Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511842Z 01O | ^ 2026-08-28T04:26:09.511871Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.511872Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511873Z 01O | ^ 2026-08-28T04:26:09.511953Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511955Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511956Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.511957Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.511958Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511971Z 01O | ^ 2026-08-28T04:26:09.511971Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511972Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511973Z 01O | ^ 2026-08-28T04:26:09.511980Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.511981Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.511982Z 01O | ^ 2026-08-28T04:26:09.511982Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.511983Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.511984Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.512016Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.512017Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.512018Z 01O | ^ 2026-08-28T04:26:09.512018Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.512019Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.512020Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.512021Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.512021Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.512022Z 01O | ^ 2026-08-28T04:26:09.512023Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.512024Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.512133Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-08-28T04:26:09.512604Z 01O | ^ 2026-08-28T04:26:09.512605Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.512606Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.512607Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.512607Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.512608Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.512609Z 01O | ^ 2026-08-28T04:26:09.512609Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.512611Z 01O 187 | if (verbose) 2026-08-28T04:26:09.512611Z 01O | ^~~~~~~ 2026-08-28T04:26:09.512612Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.512613Z 01O 187 | if (verbose) 2026-08-28T04:26:09.512613Z 01O | ^ 2026-08-28T04:26:09.512614Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.512615Z 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-08-28T04:26:09.512616Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.512617Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.512618Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.512619Z 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-08-28T04:26:09.512621Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.512622Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.512623Z 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-08-28T04:26:09.512624Z 01O | ^ 2026-08-28T04:26:09.512634Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.512635Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.512635Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.512668Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.512669Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.512670Z 01O | ^ 2026-08-28T04:26:09.512670Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.512671Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.512672Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.512680Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.512681Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.512681Z 01O | ^ 2026-08-28T04:26:09.512682Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.512682Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.512683Z 01O | ^ 2026-08-28T04:26:09.512683Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.512684Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.512684Z 01O | ^ 2026-08-28T04:26:09.512784Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.512785Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.512786Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.512787Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.512788Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.512789Z 01O | ^ 2026-08-28T04:26:09.512795Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.512796Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.512797Z 01O | ^ 2026-08-28T04:26:09.512798Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.512799Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.512799Z 01O | ^ 2026-08-28T04:26:09.512805Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.512806Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.512807Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.512808Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.512809Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.512810Z 01O | ^ 2026-08-28T04:26:09.512811Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.512812Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.512812Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.512813Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.512814Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.512814Z 01O | ^ 2026-08-28T04:26:09.512821Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.512833Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.512961Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-08-28T04:26:09.513242Z 01O | ^ 2026-08-28T04:26:09.513243Z 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-08-28T04:26:09.513244Z 01O 35 | if (ISNA(x[0]) && limit>0) { ans->dbl_v[0] = fill; fills = 1; } 2026-08-28T04:26:09.513245Z 01O | ^ 2026-08-28T04:26:09.513282Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.513283Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.513284Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.513285Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.513285Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.513286Z 01O | ^ 2026-08-28T04:26:09.513287Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.513288Z 01O 187 | if (verbose) 2026-08-28T04:26:09.513288Z 01O | ^~~~~~~ 2026-08-28T04:26:09.513289Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.513290Z 01O 187 | if (verbose) 2026-08-28T04:26:09.513290Z 01O | ^ 2026-08-28T04:26:09.513291Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.513292Z 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-08-28T04:26:09.513293Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.513294Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.513295Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.513296Z 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-08-28T04:26:09.513297Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.513410Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.513412Z 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-08-28T04:26:09.513413Z 01O | ^ 2026-08-28T04:26:09.513414Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.513415Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.513416Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.513416Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.513417Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.513418Z 01O | ^ 2026-08-28T04:26:09.513419Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.513420Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.513421Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.513422Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.513422Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.513423Z 01O | ^ 2026-08-28T04:26:09.513429Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.513430Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.513445Z 01O | ^ 2026-08-28T04:26:09.513446Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.513447Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.513448Z 01O | ^ 2026-08-28T04:26:09.513486Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.513488Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.513489Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.513490Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.513491Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.513492Z 01O | ^ 2026-08-28T04:26:09.513492Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.513496Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.513497Z 01O | ^ 2026-08-28T04:26:09.513498Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.513499Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.513500Z 01O | ^ 2026-08-28T04:26:09.513500Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.513501Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.513502Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.513503Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.513504Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.513505Z 01O | ^ 2026-08-28T04:26:09.513505Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.513506Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.513507Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.513511Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.513512Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.513512Z 01O | ^ 2026-08-28T04:26:09.513516Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.513517Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.513625Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-08-28T04:26:09.514274Z 01O | ^ 2026-08-28T04:26:09.514274Z 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-08-28T04:26:09.514276Z 01O 46 | if (ISNAN(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-08-28T04:26:09.514277Z 01O | ^ 2026-08-28T04:26:09.514277Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.514278Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.514279Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.514279Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.514280Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.514281Z 01O | ^ 2026-08-28T04:26:09.514282Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.514282Z 01O 187 | if (verbose) 2026-08-28T04:26:09.514283Z 01O | ^~~~~~~ 2026-08-28T04:26:09.514284Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.514296Z 01O 187 | if (verbose) 2026-08-28T04:26:09.514297Z 01O | ^ 2026-08-28T04:26:09.514415Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.514417Z 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-08-28T04:26:09.514419Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.514420Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.514427Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.514428Z 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-08-28T04:26:09.514429Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.514434Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.514435Z 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-08-28T04:26:09.514436Z 01O | ^ 2026-08-28T04:26:09.514437Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.514438Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.514438Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.514493Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.514494Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.514495Z 01O | ^ 2026-08-28T04:26:09.514505Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.514507Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.514508Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.514508Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.514509Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.514510Z 01O | ^ 2026-08-28T04:26:09.514515Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.514516Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.514517Z 01O | ^ 2026-08-28T04:26:09.514518Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.514518Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.514519Z 01O | ^ 2026-08-28T04:26:09.514650Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.514652Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.514653Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.514654Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.514655Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.514656Z 01O | ^ 2026-08-28T04:26:09.514657Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.514658Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.514659Z 01O | ^ 2026-08-28T04:26:09.514665Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.514687Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.514688Z 01O | ^ 2026-08-28T04:26:09.514689Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.514690Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.514691Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.514692Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.514693Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.514694Z 01O | ^ 2026-08-28T04:26:09.514699Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.514700Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.514701Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.514701Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.514702Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.514703Z 01O | ^ 2026-08-28T04:26:09.514704Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.514705Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.514781Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-08-28T04:26:09.515296Z 01O | ^ 2026-08-28T04:26:09.515427Z 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-08-28T04:26:09.515429Z 01O 55 | if (ISNA(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-08-28T04:26:09.515430Z 01O | ^ 2026-08-28T04:26:09.515431Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.515432Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.515433Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.515433Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.515434Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.515435Z 01O | ^ 2026-08-28T04:26:09.515436Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.515437Z 01O 187 | if (verbose) 2026-08-28T04:26:09.515437Z 01O | ^~~~~~~ 2026-08-28T04:26:09.515438Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.515439Z 01O 187 | if (verbose) 2026-08-28T04:26:09.515439Z 01O | ^ 2026-08-28T04:26:09.515447Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.515448Z 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-08-28T04:26:09.515463Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.515464Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.515472Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.515474Z 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-08-28T04:26:09.515475Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.515517Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.515519Z 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-08-28T04:26:09.515520Z 01O | ^ 2026-08-28T04:26:09.515521Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.515522Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.515523Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.515524Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.515525Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.515525Z 01O | ^ 2026-08-28T04:26:09.515526Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.515527Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.515528Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.515529Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.515529Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.515530Z 01O | ^ 2026-08-28T04:26:09.515535Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.515536Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.515537Z 01O | ^ 2026-08-28T04:26:09.515538Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.515539Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.515540Z 01O | ^ 2026-08-28T04:26:09.515557Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.515558Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.515559Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.515560Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.515561Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.515561Z 01O | ^ 2026-08-28T04:26:09.515596Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.515598Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.515599Z 01O | ^ 2026-08-28T04:26:09.515600Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.515601Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.515602Z 01O | ^ 2026-08-28T04:26:09.515602Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.515615Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.515616Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.515617Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.515618Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.515619Z 01O | ^ 2026-08-28T04:26:09.515619Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.515620Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.515621Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.515621Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.515622Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.515623Z 01O | ^ 2026-08-28T04:26:09.515627Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.515628Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.515731Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-08-28T04:26:09.516136Z 01O | ^ 2026-08-28T04:26:09.516142Z 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-08-28T04:26:09.516143Z 01O 109 | if (x[i]==NA_INTEGER64) { 2026-08-28T04:26:09.516144Z 01O | ^ 2026-08-28T04:26:09.516144Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.516145Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.516146Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.516147Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.516148Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.516148Z 01O | ^ 2026-08-28T04:26:09.516149Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.516150Z 01O 187 | if (verbose) 2026-08-28T04:26:09.516150Z 01O | ^~~~~~~ 2026-08-28T04:26:09.516151Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.516152Z 01O 187 | if (verbose) 2026-08-28T04:26:09.516152Z 01O | ^ 2026-08-28T04:26:09.516207Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.516209Z 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-08-28T04:26:09.516210Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.516211Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.516217Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.516229Z 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-08-28T04:26:09.516230Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.516231Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.516232Z 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-08-28T04:26:09.516233Z 01O | ^ 2026-08-28T04:26:09.516234Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.516235Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.516236Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.516240Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.516241Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.516242Z 01O | ^ 2026-08-28T04:26:09.516325Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.516327Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.516328Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.516329Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.516330Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.516330Z 01O | ^ 2026-08-28T04:26:09.516335Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.516336Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.516337Z 01O | ^ 2026-08-28T04:26:09.516338Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.516339Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.516340Z 01O | ^ 2026-08-28T04:26:09.516346Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.516347Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.516348Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.516349Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.516350Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.516350Z 01O | ^ 2026-08-28T04:26:09.516369Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.516371Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.516372Z 01O | ^ 2026-08-28T04:26:09.516402Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.516403Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.516404Z 01O | ^ 2026-08-28T04:26:09.516404Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.516405Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.516406Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.516407Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.516422Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.516423Z 01O | ^ 2026-08-28T04:26:09.516423Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.516424Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.516425Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.516426Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.516426Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.516427Z 01O | ^ 2026-08-28T04:26:09.516433Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.516435Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.516573Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-08-28T04:26:09.516906Z 01O | ^ 2026-08-28T04:26:09.516907Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.516908Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.516908Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.516909Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.516910Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.516911Z 01O | ^ 2026-08-28T04:26:09.516911Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.516912Z 01O 187 | if (verbose) 2026-08-28T04:26:09.516913Z 01O | ^~~~~~~ 2026-08-28T04:26:09.516913Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.516914Z 01O 187 | if (verbose) 2026-08-28T04:26:09.516914Z 01O | ^ 2026-08-28T04:26:09.517001Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.517003Z 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-08-28T04:26:09.517004Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517005Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.517006Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.517007Z 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-08-28T04:26:09.517008Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517014Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.517015Z 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-08-28T04:26:09.517016Z 01O | ^ 2026-08-28T04:26:09.517017Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.517018Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.517019Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517020Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.517021Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517021Z 01O | ^ 2026-08-28T04:26:09.517029Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517030Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517031Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517031Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.517032Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517033Z 01O | ^ 2026-08-28T04:26:09.517034Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517035Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517036Z 01O | ^ 2026-08-28T04:26:09.517037Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.517050Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517051Z 01O | ^ 2026-08-28T04:26:09.517089Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517091Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517092Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.517093Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.517094Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517095Z 01O | ^ 2026-08-28T04:26:09.517099Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517100Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517101Z 01O | ^ 2026-08-28T04:26:09.517108Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.517109Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517110Z 01O | ^ 2026-08-28T04:26:09.517111Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517112Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517113Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517114Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.517115Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517115Z 01O | ^ 2026-08-28T04:26:09.517116Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.517117Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.517117Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.517118Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.517119Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.517120Z 01O | ^ 2026-08-28T04:26:09.517120Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.517121Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.517313Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-08-28T04:26:09.517696Z 01O | ^ 2026-08-28T04:26:09.517778Z 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-08-28T04:26:09.517780Z 01O 124 | if (x[nx-1]==NA_INTEGER64 && limit>0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-08-28T04:26:09.517781Z 01O | ^ 2026-08-28T04:26:09.517782Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.517783Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.517784Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.517784Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.517785Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.517786Z 01O | ^ 2026-08-28T04:26:09.517786Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.517787Z 01O 187 | if (verbose) 2026-08-28T04:26:09.517788Z 01O | ^~~~~~~ 2026-08-28T04:26:09.517788Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.517789Z 01O 187 | if (verbose) 2026-08-28T04:26:09.517790Z 01O | ^ 2026-08-28T04:26:09.517798Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.517799Z 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-08-28T04:26:09.517800Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517801Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.517818Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.517820Z 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-08-28T04:26:09.517821Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517825Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.517826Z 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-08-28T04:26:09.517827Z 01O | ^ 2026-08-28T04:26:09.517828Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.517829Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.517830Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517839Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.517840Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517841Z 01O | ^ 2026-08-28T04:26:09.517842Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517843Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517844Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517845Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.517846Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517847Z 01O | ^ 2026-08-28T04:26:09.517852Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517853Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517854Z 01O | ^ 2026-08-28T04:26:09.517855Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.517856Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517857Z 01O | ^ 2026-08-28T04:26:09.517887Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517889Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517890Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.517891Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.517892Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517892Z 01O | ^ 2026-08-28T04:26:09.517893Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517894Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517895Z 01O | ^ 2026-08-28T04:26:09.517902Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.517903Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517903Z 01O | ^ 2026-08-28T04:26:09.517904Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.517905Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.517906Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.517918Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.517919Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.517919Z 01O | ^ 2026-08-28T04:26:09.517919Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.517920Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.517920Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.517921Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.517922Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.517923Z 01O | ^ 2026-08-28T04:26:09.517928Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.517929Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.517995Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-08-28T04:26:09.518414Z 01O | ^ 2026-08-28T04:26:09.518420Z 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-08-28T04:26:09.518421Z 01O 144 | if (x[i]==NA_STRING) { 2026-08-28T04:26:09.518422Z 01O | ^ 2026-08-28T04:26:09.518422Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.518423Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.518424Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.518425Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.518426Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.518426Z 01O | ^ 2026-08-28T04:26:09.518427Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.518428Z 01O 187 | if (verbose) 2026-08-28T04:26:09.518428Z 01O | ^~~~~~~ 2026-08-28T04:26:09.518429Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.518430Z 01O 187 | if (verbose) 2026-08-28T04:26:09.518430Z 01O | ^ 2026-08-28T04:26:09.518557Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.518559Z 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-08-28T04:26:09.518561Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.518561Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.518569Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.518570Z 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-08-28T04:26:09.518571Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.518577Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.518578Z 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-08-28T04:26:09.518579Z 01O | ^ 2026-08-28T04:26:09.518594Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.518596Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.518596Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.518597Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.518597Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.518598Z 01O | ^ 2026-08-28T04:26:09.518605Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.518606Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.518607Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.518608Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.518609Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.518610Z 01O | ^ 2026-08-28T04:26:09.518610Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.518611Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.518613Z 01O | ^ 2026-08-28T04:26:09.518646Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.518648Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.518649Z 01O | ^ 2026-08-28T04:26:09.518649Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.518650Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.518651Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.518656Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.518657Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.518658Z 01O | ^ 2026-08-28T04:26:09.518659Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.518660Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.518661Z 01O | ^ 2026-08-28T04:26:09.518667Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.518668Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.518669Z 01O | ^ 2026-08-28T04:26:09.518670Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.518671Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.518672Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.518673Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.518673Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.518674Z 01O | ^ 2026-08-28T04:26:09.518675Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.518676Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.518676Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.518677Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.518678Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.518678Z 01O | ^ 2026-08-28T04:26:09.518756Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.518769Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.518806Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-08-28T04:26:09.519221Z 01O | ^ 2026-08-28T04:26:09.519221Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.519222Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.519222Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.519222Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.519223Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.519223Z 01O | ^ 2026-08-28T04:26:09.519223Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.519224Z 01O 187 | if (verbose) 2026-08-28T04:26:09.519224Z 01O | ^~~~~~~ 2026-08-28T04:26:09.519225Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.519225Z 01O 187 | if (verbose) 2026-08-28T04:26:09.519234Z 01O | ^ 2026-08-28T04:26:09.519240Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.519241Z 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-08-28T04:26:09.519242Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519242Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.519246Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.519246Z 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-08-28T04:26:09.519247Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519248Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.519248Z 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-08-28T04:26:09.519249Z 01O | ^ 2026-08-28T04:26:09.519249Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.519250Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.519250Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519253Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.519254Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519254Z 01O | ^ 2026-08-28T04:26:09.519255Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.519255Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.519256Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519259Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.519259Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519260Z 01O | ^ 2026-08-28T04:26:09.519260Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.519260Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.519261Z 01O | ^ 2026-08-28T04:26:09.519312Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.519313Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519314Z 01O | ^ 2026-08-28T04:26:09.519314Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.519314Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.519315Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.519319Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.519319Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519320Z 01O | ^ 2026-08-28T04:26:09.519324Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.519325Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.519325Z 01O | ^ 2026-08-28T04:26:09.519325Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.519326Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519335Z 01O | ^ 2026-08-28T04:26:09.519335Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.519336Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.519336Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519337Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.519337Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519338Z 01O | ^ 2026-08-28T04:26:09.519431Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.519433Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.519434Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.519435Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.519435Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.519436Z 01O | ^ 2026-08-28T04:26:09.519436Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.519437Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.519511Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-08-28T04:26:09.519875Z 01O | ^ 2026-08-28T04:26:09.519880Z 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-08-28T04:26:09.519881Z 01O 160 | if (x[nx-1]==NA_STRING && limit>0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-08-28T04:26:09.519881Z 01O | ^ 2026-08-28T04:26:09.519882Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-08-28T04:26:09.519882Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.519883Z 01O | ^~~~~~~~~~~~~ 2026-08-28T04:26:09.519883Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-08-28T04:26:09.519883Z 01O 183 | if (!xlength(obj)) 2026-08-28T04:26:09.519884Z 01O | ^ 2026-08-28T04:26:09.519886Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-08-28T04:26:09.519886Z 01O 187 | if (verbose) 2026-08-28T04:26:09.519887Z 01O | ^~~~~~~ 2026-08-28T04:26:09.519887Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-08-28T04:26:09.519888Z 01O 187 | if (verbose) 2026-08-28T04:26:09.519888Z 01O | ^ 2026-08-28T04:26:09.519910Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-08-28T04:26:09.519911Z 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-08-28T04:26:09.519912Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519912Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-08-28T04:26:09.519913Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-08-28T04:26:09.519913Z 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-08-28T04:26:09.519914Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519914Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-08-28T04:26:09.519915Z 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-08-28T04:26:09.519915Z 01O | ^ 2026-08-28T04:26:09.519916Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-08-28T04:26:09.519916Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-08-28T04:26:09.519917Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519936Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.519936Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519937Z 01O | ^ 2026-08-28T04:26:09.519937Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.519938Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.519938Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.519942Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.519950Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519950Z 01O | ^ 2026-08-28T04:26:09.519956Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.519957Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.519957Z 01O | ^ 2026-08-28T04:26:09.519958Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.519958Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.519958Z 01O | ^ 2026-08-28T04:26:09.520071Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.520072Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.520073Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.520074Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-08-28T04:26:09.520074Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.520075Z 01O | ^ 2026-08-28T04:26:09.520078Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.520079Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.520079Z 01O | ^ 2026-08-28T04:26:09.520080Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-08-28T04:26:09.520080Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.520080Z 01O | ^ 2026-08-28T04:26:09.520085Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.520085Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.520086Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.520086Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-08-28T04:26:09.520087Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-08-28T04:26:09.520087Z 01O | ^ 2026-08-28T04:26:09.520088Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-08-28T04:26:09.520088Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.520088Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.520089Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-08-28T04:26:09.520089Z 01O 200 | if (obj_scalar) { 2026-08-28T04:26:09.520090Z 01O | ^ 2026-08-28T04:26:09.520092Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-08-28T04:26:09.520092Z 01O 213 | for (int i=0; i= 'nx' 2026-08-28T04:26:09.520313Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-08-28T04:26:09.520624Z 01O | ^ 2026-08-28T04:26:09.520627Z 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-08-28T04:26:09.520628Z 01O 198 | SEXP x = R_NilValue; 2026-08-28T04:26:09.520628Z 01O | ^ ~~~~~~~~~~ 2026-08-28T04:26:09.520628Z 01O /builds/Rdatatable/data.table/src/nafill.c:198:8: note: Value stored to 'x' during its initialization is never read 2026-08-28T04:26:09.520629Z 01O 198 | SEXP x = R_NilValue; 2026-08-28T04:26:09.520629Z 01O | ^ ~~~~~~~~~~ 2026-08-28T04:26:09.520805Z 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-08-28T04:26:09.520815Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-08-28T04:26:09.520815Z 01O | ^ 2026-08-28T04:26:09.520816Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-08-28T04:26:09.520816Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-08-28T04:26:09.520816Z 01O | ^ 2026-08-28T04:26:09.520823Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-08-28T04:26:09.520823Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-08-28T04:26:09.520824Z 01O | ^ 2026-08-28T04:26:09.520824Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-08-28T04:26:09.520825Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-08-28T04:26:09.520825Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.520827Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-08-28T04:26:09.520827Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-08-28T04:26:09.520828Z 01O | ^ 2026-08-28T04:26:09.520831Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-08-28T04:26:09.520832Z 01O 131 | if (length(throttle)) { 2026-08-28T04:26:09.520832Z 01O | ^ 2026-08-28T04:26:09.520832Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-08-28T04:26:09.520833Z 01O 987 | #define length(x) Rf_length(x) 2026-08-28T04:26:09.520833Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.520834Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-08-28T04:26:09.520834Z 01O 131 | if (length(throttle)) { 2026-08-28T04:26:09.520835Z 01O | ^ 2026-08-28T04:26:09.520881Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-08-28T04:26:09.520882Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-08-28T04:26:09.520882Z 01O | ^~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.520883Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-08-28T04:26:09.520883Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-08-28T04:26:09.520884Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-08-28T04:26:09.520884Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.520885Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-08-28T04:26:09.520885Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-08-28T04:26:09.520886Z 01O | ^ 2026-08-28T04:26:09.520886Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-08-28T04:26:09.520886Z 01O 138 | initDTthreads(); 2026-08-28T04:26:09.520887Z 01O | ^~~~~~~~~~~~~~~ 2026-08-28T04:26:09.520887Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-08-28T04:26:09.520888Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-08-28T04:26:09.520888Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.520891Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-08-28T04:26:09.520891Z 01O 14 | const char *val = getenv(name); 2026-08-28T04:26:09.520892Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.520894Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-08-28T04:26:09.520894Z 01O 14 | const char *val = getenv(name); 2026-08-28T04:26:09.520895Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.520898Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-08-28T04:26:09.520906Z 01O 14 | const char *val = getenv(name); 2026-08-28T04:26:09.520907Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.520907Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-08-28T04:26:09.520908Z 01O 15 | if (val == NULL) return def; 2026-08-28T04:26:09.520908Z 01O | ^~~ 2026-08-28T04:26:09.520908Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-08-28T04:26:09.520909Z 01O 15 | if (val == NULL) return def; 2026-08-28T04:26:09.520909Z 01O | ^ 2026-08-28T04:26:09.520910Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-08-28T04:26:09.520910Z 01O 17 | if (nchar == 0) return def; 2026-08-28T04:26:09.520911Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.520911Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-08-28T04:26:09.520911Z 01O 17 | if (nchar == 0) return def; 2026-08-28T04:26:09.520912Z 01O | ^ 2026-08-28T04:26:09.520995Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-08-28T04:26:09.520996Z 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-08-28T04:26:09.520997Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.520998Z 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-08-28T04:26:09.520998Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-08-28T04:26:09.520999Z 01O | ^ 2026-08-28T04:26:09.520999Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-08-28T04:26:09.520999Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-08-28T04:26:09.521000Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521000Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-08-28T04:26:09.521001Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-08-28T04:26:09.521001Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521125Z 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-08-28T04:26:09.521126Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-08-28T04:26:09.521127Z 01O | ^ ~~~~~ 2026-08-28T04:26:09.521127Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-08-28T04:26:09.521128Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-08-28T04:26:09.521128Z 01O | ^ 2026-08-28T04:26:09.521128Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521129Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521130Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-08-28T04:26:09.521130Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-08-28T04:26:09.521131Z 01O | ^ 2026-08-28T04:26:09.521134Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521135Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521136Z 01O | ^ 2026-08-28T04:26:09.521136Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-08-28T04:26:09.521145Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-08-28T04:26:09.521146Z 01O | ^ 2026-08-28T04:26:09.521173Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521174Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521175Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.521175Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-08-28T04:26:09.521176Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-08-28T04:26:09.521176Z 01O | ^ 2026-08-28T04:26:09.521196Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521197Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521197Z 01O | ^ 2026-08-28T04:26:09.521198Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-08-28T04:26:09.521198Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-08-28T04:26:09.521199Z 01O | ^ 2026-08-28T04:26:09.521199Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521200Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521200Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521201Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-08-28T04:26:09.521201Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-08-28T04:26:09.521201Z 01O | ^ 2026-08-28T04:26:09.521341Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-08-28T04:26:09.521342Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-08-28T04:26:09.521342Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521343Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-08-28T04:26:09.521343Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-08-28T04:26:09.521344Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-08-28T04:26:09.521344Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521347Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-08-28T04:26:09.521348Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-08-28T04:26:09.521348Z 01O | ^ 2026-08-28T04:26:09.521366Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-08-28T04:26:09.521366Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-08-28T04:26:09.521367Z 01O | ^ 2026-08-28T04:26:09.521367Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521368Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521368Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-08-28T04:26:09.521369Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-08-28T04:26:09.521370Z 01O | ^ 2026-08-28T04:26:09.521374Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521374Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521375Z 01O | ^ 2026-08-28T04:26:09.521390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-08-28T04:26:09.521391Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-08-28T04:26:09.521391Z 01O | ^ 2026-08-28T04:26:09.521418Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521419Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521419Z 01O | ^~~~~~~~~~~~ 2026-08-28T04:26:09.521420Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-08-28T04:26:09.521420Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-08-28T04:26:09.521421Z 01O | ^ 2026-08-28T04:26:09.521421Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521422Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521422Z 01O | ^ 2026-08-28T04:26:09.521422Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-08-28T04:26:09.521423Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-08-28T04:26:09.521423Z 01O | ^ 2026-08-28T04:26:09.521443Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-08-28T04:26:09.521443Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-08-28T04:26:09.521444Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521444Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-08-28T04:26:09.521445Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-08-28T04:26:09.521445Z 01O | ^ 2026-08-28T04:26:09.521446Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-08-28T04:26:09.521446Z 01O 13 | if (!length(l)) return(l); 2026-08-28T04:26:09.521446Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.521447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-08-28T04:26:09.521447Z 01O 13 | if (!length(l)) return(l); 2026-08-28T04:26:09.521448Z 01O | ^ 2026-08-28T04:26:09.521451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-08-28T04:26:09.521452Z 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-08-28T04:26:09.521452Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521453Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-08-28T04:26:09.521453Z 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-08-28T04:26:09.521454Z 01O | ^ 2026-08-28T04:26:09.521454Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-08-28T04:26:09.521455Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-08-28T04:26:09.521455Z 01O | ^~~~ 2026-08-28T04:26:09.521579Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-08-28T04:26:09.521580Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-08-28T04:26:09.521580Z 01O | ^ 2026-08-28T04:26:09.521583Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-08-28T04:26:09.521583Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-08-28T04:26:09.521584Z 01O | ^~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521588Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-08-28T04:26:09.521597Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-08-28T04:26:09.521598Z 01O | ^~~~~ 2026-08-28T04:26:09.521598Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-08-28T04:26:09.521599Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-08-28T04:26:09.521600Z 01O | ^ 2026-08-28T04:26:09.521603Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-08-28T04:26:09.521603Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.521604Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.521604Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.521605Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.521605Z 01O | ^ 2026-08-28T04:26:09.521626Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-08-28T04:26:09.521627Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.521627Z 01O | ^ 2026-08-28T04:26:09.521628Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.521628Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.521629Z 01O | ^ 2026-08-28T04:26:09.521629Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-08-28T04:26:09.521629Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.521630Z 01O | ^ 2026-08-28T04:26:09.521632Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-08-28T04:26:09.521633Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.521633Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521634Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-08-28T04:26:09.521634Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.521635Z 01O | ^ 2026-08-28T04:26:09.521690Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-08-28T04:26:09.521691Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.521691Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.521692Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-08-28T04:26:09.521692Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.521693Z 01O | ^ 2026-08-28T04:26:09.521693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-08-28T04:26:09.521693Z 01O 37 | if (fill) { 2026-08-28T04:26:09.521694Z 01O | ^~~~ 2026-08-28T04:26:09.521694Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-08-28T04:26:09.521695Z 01O 37 | if (fill) { 2026-08-28T04:26:09.521695Z 01O | ^ 2026-08-28T04:26:09.521713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-08-28T04:26:09.521714Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.521714Z 01O | ^~~~ 2026-08-28T04:26:09.521715Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-08-28T04:26:09.521715Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.521716Z 01O | ^ 2026-08-28T04:26:09.521720Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-08-28T04:26:09.521729Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.521730Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.521730Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-08-28T04:26:09.521731Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.521731Z 01O | ^ 2026-08-28T04:26:09.521732Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-08-28T04:26:09.521732Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.521733Z 01O | ^~~~~~ 2026-08-28T04:26:09.521792Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-08-28T04:26:09.521793Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.521794Z 01O | ^ 2026-08-28T04:26:09.521797Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-08-28T04:26:09.521798Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.521798Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.521799Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-08-28T04:26:09.521799Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.521800Z 01O | ^ 2026-08-28T04:26:09.521800Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-08-28T04:26:09.521801Z 01O 49 | for (int j=0; j0 checked above 2026-08-28T04:26:09.521826Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.521826Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-08-28T04:26:09.521827Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.521827Z 01O | ^ 2026-08-28T04:26:09.521828Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-08-28T04:26:09.521828Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.521829Z 01O | ^~~~~~~ 2026-08-28T04:26:09.521829Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-08-28T04:26:09.521829Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.521830Z 01O | ^ 2026-08-28T04:26:09.521830Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-08-28T04:26:09.521831Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.521831Z 01O | ^~~~ 2026-08-28T04:26:09.521831Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-08-28T04:26:09.521913Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-08-28T04:26:09.521914Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.521914Z 01O | ^~~~ 2026-08-28T04:26:09.521915Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-08-28T04:26:09.521915Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.521924Z 01O | ^ 2026-08-28T04:26:09.521929Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-08-28T04:26:09.521929Z 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-08-28T04:26:09.521930Z 01O | ^~~~ 2026-08-28T04:26:09.521930Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-08-28T04:26:09.521931Z 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-08-28T04:26:09.521932Z 01O | ^ 2026-08-28T04:26:09.521954Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-08-28T04:26:09.521955Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.521955Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.521956Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-08-28T04:26:09.521956Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.521957Z 01O | ^ 2026-08-28T04:26:09.521957Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-08-28T04:26:09.521958Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.521958Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.521959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-08-28T04:26:09.521977Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-08-28T04:26:09.521978Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.521979Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.521979Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-08-28T04:26:09.521979Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.521980Z 01O | ^ 2026-08-28T04:26:09.521980Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-08-28T04:26:09.521981Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-08-28T04:26:09.521981Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.521984Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-08-28T04:26:09.521984Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-08-28T04:26:09.521985Z 01O | ^ 2026-08-28T04:26:09.521985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-08-28T04:26:09.521986Z 01O 83 | int nuniq=0; 2026-08-28T04:26:09.521986Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.521986Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-08-28T04:26:09.521987Z 01O 85 | for (int i=0; i0 checked above 2026-08-28T04:26:09.522599Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.522601Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.522601Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.522602Z 01O | ^ 2026-08-28T04:26:09.522604Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-08-28T04:26:09.522605Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.522605Z 01O | ^ 2026-08-28T04:26:09.522605Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.522606Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.522606Z 01O | ^ 2026-08-28T04:26:09.522606Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-08-28T04:26:09.522607Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.522607Z 01O | ^ 2026-08-28T04:26:09.522767Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-08-28T04:26:09.522770Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.522771Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.522786Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-08-28T04:26:09.522787Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.522808Z 01O | ^ 2026-08-28T04:26:09.522809Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-08-28T04:26:09.522809Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.522810Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.522814Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-08-28T04:26:09.522815Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.522816Z 01O | ^ 2026-08-28T04:26:09.522816Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-08-28T04:26:09.522817Z 01O 37 | if (fill) { 2026-08-28T04:26:09.522817Z 01O | ^~~~ 2026-08-28T04:26:09.522817Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-08-28T04:26:09.522818Z 01O 37 | if (fill) { 2026-08-28T04:26:09.522818Z 01O | ^ 2026-08-28T04:26:09.522819Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-08-28T04:26:09.522819Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.522820Z 01O | ^~~~ 2026-08-28T04:26:09.522820Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-08-28T04:26:09.522821Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.522822Z 01O | ^ 2026-08-28T04:26:09.522827Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-08-28T04:26:09.522828Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.522829Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.522829Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-08-28T04:26:09.522830Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.522831Z 01O | ^ 2026-08-28T04:26:09.522831Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-08-28T04:26:09.522832Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.522832Z 01O | ^~~~~~ 2026-08-28T04:26:09.522832Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-08-28T04:26:09.522833Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.522834Z 01O | ^ 2026-08-28T04:26:09.522837Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-08-28T04:26:09.522838Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.522838Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.522839Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-08-28T04:26:09.522840Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.522840Z 01O | ^ 2026-08-28T04:26:09.522865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-08-28T04:26:09.522865Z 01O 49 | for (int j=0; j0 checked above 2026-08-28T04:26:09.522880Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.522880Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-08-28T04:26:09.522881Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.522881Z 01O | ^ 2026-08-28T04:26:09.522886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-08-28T04:26:09.522887Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.522887Z 01O | ^~~~~~~ 2026-08-28T04:26:09.522888Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-08-28T04:26:09.522888Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.522889Z 01O | ^ 2026-08-28T04:26:09.522889Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-08-28T04:26:09.522890Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.522890Z 01O | ^~~~ 2026-08-28T04:26:09.522891Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-08-28T04:26:09.522891Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-08-28T04:26:09.522892Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.522893Z 01O | ^~~~ 2026-08-28T04:26:09.522893Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-08-28T04:26:09.522894Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.522894Z 01O | ^ 2026-08-28T04:26:09.523002Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-08-28T04:26:09.523004Z 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-08-28T04:26:09.523005Z 01O | ^~~~ 2026-08-28T04:26:09.523008Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-08-28T04:26:09.523009Z 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-08-28T04:26:09.523010Z 01O | ^ 2026-08-28T04:26:09.523014Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-08-28T04:26:09.523015Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.523016Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.523016Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-08-28T04:26:09.523017Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.523017Z 01O | ^ 2026-08-28T04:26:09.523018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-08-28T04:26:09.523018Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.523019Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.523019Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-08-28T04:26:09.523020Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-08-28T04:26:09.523021Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.523021Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.523024Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-08-28T04:26:09.523025Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.523025Z 01O | ^ 2026-08-28T04:26:09.523026Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-08-28T04:26:09.523036Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-08-28T04:26:09.523036Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.523039Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-08-28T04:26:09.523039Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-08-28T04:26:09.523040Z 01O | ^ 2026-08-28T04:26:09.523043Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-08-28T04:26:09.523043Z 01O 85 | for (int i=0; i= 'thisncol' 2026-08-28T04:26:09.523186Z 01O 92 | for (int j=0; j 'ncol' 2026-08-28T04:26:09.523339Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-08-28T04:26:09.523340Z 01O | ^~~~~~ 2026-08-28T04:26:09.523340Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-08-28T04:26:09.523341Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-08-28T04:26:09.523341Z 01O | ^ 2026-08-28T04:26:09.523341Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-08-28T04:26:09.523342Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-08-28T04:26:09.523343Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.523347Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-08-28T04:26:09.523348Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-08-28T04:26:09.523348Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.523349Z 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-08-28T04:26:09.523350Z 01O 153 | for (int j=0; j0 checked above 2026-08-28T04:26:09.523771Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.523771Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.523772Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.523772Z 01O | ^ 2026-08-28T04:26:09.523851Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-08-28T04:26:09.523860Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.523861Z 01O | ^ 2026-08-28T04:26:09.523861Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.523862Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.523862Z 01O | ^ 2026-08-28T04:26:09.523863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-08-28T04:26:09.523863Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.523864Z 01O | ^ 2026-08-28T04:26:09.523867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-08-28T04:26:09.523868Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.523869Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.523869Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-08-28T04:26:09.523870Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.523870Z 01O | ^ 2026-08-28T04:26:09.523890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-08-28T04:26:09.523891Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.523891Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.523892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-08-28T04:26:09.523892Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.523893Z 01O | ^ 2026-08-28T04:26:09.523893Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-08-28T04:26:09.523894Z 01O 37 | if (fill) { 2026-08-28T04:26:09.523894Z 01O | ^~~~ 2026-08-28T04:26:09.523894Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-08-28T04:26:09.523895Z 01O 37 | if (fill) { 2026-08-28T04:26:09.523895Z 01O | ^ 2026-08-28T04:26:09.523896Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-08-28T04:26:09.523896Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.523897Z 01O | ^~~~ 2026-08-28T04:26:09.523897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-08-28T04:26:09.523898Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.523898Z 01O | ^ 2026-08-28T04:26:09.523915Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-08-28T04:26:09.523916Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.523917Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.523917Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-08-28T04:26:09.523918Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.523919Z 01O | ^ 2026-08-28T04:26:09.523921Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-08-28T04:26:09.523922Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.523922Z 01O | ^~~~~~ 2026-08-28T04:26:09.523924Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-08-28T04:26:09.523925Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.523926Z 01O | ^ 2026-08-28T04:26:09.524025Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-08-28T04:26:09.524026Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.524035Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.524036Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-08-28T04:26:09.524036Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.524037Z 01O | ^ 2026-08-28T04:26:09.524038Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-08-28T04:26:09.524038Z 01O 49 | for (int j=0; j0 checked above 2026-08-28T04:26:09.524052Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.524052Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-08-28T04:26:09.524053Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.524054Z 01O | ^ 2026-08-28T04:26:09.524074Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-08-28T04:26:09.524074Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.524079Z 01O | ^~~~~~~ 2026-08-28T04:26:09.524079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-08-28T04:26:09.524080Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.524081Z 01O | ^ 2026-08-28T04:26:09.524084Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-08-28T04:26:09.524085Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.524085Z 01O | ^~~~ 2026-08-28T04:26:09.524086Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-08-28T04:26:09.524086Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-08-28T04:26:09.524087Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.524087Z 01O | ^~~~ 2026-08-28T04:26:09.524159Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-08-28T04:26:09.524160Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.524160Z 01O | ^ 2026-08-28T04:26:09.524161Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-08-28T04:26:09.524161Z 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-08-28T04:26:09.524162Z 01O | ^~~~ 2026-08-28T04:26:09.524163Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-08-28T04:26:09.524163Z 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-08-28T04:26:09.524164Z 01O | ^ 2026-08-28T04:26:09.524168Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-08-28T04:26:09.524168Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.524169Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.524170Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-08-28T04:26:09.524170Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.524179Z 01O | ^ 2026-08-28T04:26:09.524180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-08-28T04:26:09.524180Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.524181Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.524181Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-08-28T04:26:09.524222Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-08-28T04:26:09.524223Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.524224Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.524225Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-08-28T04:26:09.524225Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.524226Z 01O | ^ 2026-08-28T04:26:09.524226Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-08-28T04:26:09.524227Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-08-28T04:26:09.524227Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.524230Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-08-28T04:26:09.524231Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-08-28T04:26:09.524232Z 01O | ^ 2026-08-28T04:26:09.524232Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-08-28T04:26:09.524233Z 01O 85 | for (int i=0; i= 'thisncol' 2026-08-28T04:26:09.524410Z 01O 92 | for (int j=0; j= 'thisncol' 2026-08-28T04:26:09.524606Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-08-28T04:26:09.524613Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.524614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-08-28T04:26:09.524614Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-08-28T04:26:09.524614Z 01O | ^ 2026-08-28T04:26:09.524615Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-08-28T04:26:09.524615Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-08-28T04:26:09.524625Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.524627Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-08-28T04:26:09.524635Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-08-28T04:26:09.524636Z 01O | ^ 2026-08-28T04:26:09.524685Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-08-28T04:26:09.524686Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.524686Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.524687Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-08-28T04:26:09.524687Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-08-28T04:26:09.524688Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.524688Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.524689Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-08-28T04:26:09.524689Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.524689Z 01O | ^ 2026-08-28T04:26:09.524693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-08-28T04:26:09.524693Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.524694Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.524694Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-08-28T04:26:09.524695Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.524695Z 01O | ^ 2026-08-28T04:26:09.524695Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-08-28T04:26:09.524696Z 01O 142 | for (int i=0; i= 'ncol' 2026-08-28T04:26:09.524700Z 01O 143 | for (int i=0; i0 checked above 2026-08-28T04:26:09.525411Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.525411Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.525412Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.525413Z 01O | ^ 2026-08-28T04:26:09.525416Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-08-28T04:26:09.525416Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.525417Z 01O | ^ 2026-08-28T04:26:09.525417Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.525418Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.525418Z 01O | ^ 2026-08-28T04:26:09.525418Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-08-28T04:26:09.525419Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.525419Z 01O | ^ 2026-08-28T04:26:09.525420Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-08-28T04:26:09.525420Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.525421Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.525466Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-08-28T04:26:09.525467Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.525468Z 01O | ^ 2026-08-28T04:26:09.525468Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-08-28T04:26:09.525469Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.525469Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.525469Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-08-28T04:26:09.525470Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.525470Z 01O | ^ 2026-08-28T04:26:09.525470Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-08-28T04:26:09.525471Z 01O 37 | if (fill) { 2026-08-28T04:26:09.525471Z 01O | ^~~~ 2026-08-28T04:26:09.525472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-08-28T04:26:09.525472Z 01O 37 | if (fill) { 2026-08-28T04:26:09.525472Z 01O | ^ 2026-08-28T04:26:09.525475Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-08-28T04:26:09.525475Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.525476Z 01O | ^~~~ 2026-08-28T04:26:09.525476Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-08-28T04:26:09.525477Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.525477Z 01O | ^ 2026-08-28T04:26:09.525480Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-08-28T04:26:09.525481Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.525493Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.525493Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-08-28T04:26:09.525494Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.525494Z 01O | ^ 2026-08-28T04:26:09.525565Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-08-28T04:26:09.525566Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.525567Z 01O | ^~~~~~ 2026-08-28T04:26:09.525567Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-08-28T04:26:09.525568Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.525568Z 01O | ^ 2026-08-28T04:26:09.525568Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-08-28T04:26:09.525569Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.525569Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.525570Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-08-28T04:26:09.525570Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.525571Z 01O | ^ 2026-08-28T04:26:09.525575Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-08-28T04:26:09.525575Z 01O 49 | for (int j=0; j0 checked above 2026-08-28T04:26:09.525578Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.525579Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-08-28T04:26:09.525579Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.525580Z 01O | ^ 2026-08-28T04:26:09.525580Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-08-28T04:26:09.525580Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.525581Z 01O | ^~~~~~~ 2026-08-28T04:26:09.525581Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-08-28T04:26:09.525582Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.525582Z 01O | ^ 2026-08-28T04:26:09.525599Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-08-28T04:26:09.525600Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.525600Z 01O | ^~~~ 2026-08-28T04:26:09.525600Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-08-28T04:26:09.525601Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-08-28T04:26:09.525601Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.525602Z 01O | ^~~~ 2026-08-28T04:26:09.525656Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-08-28T04:26:09.525657Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.525657Z 01O | ^ 2026-08-28T04:26:09.525675Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-08-28T04:26:09.525684Z 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-08-28T04:26:09.525685Z 01O | ^~~~ 2026-08-28T04:26:09.525685Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-08-28T04:26:09.525686Z 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-08-28T04:26:09.525687Z 01O | ^ 2026-08-28T04:26:09.525687Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-08-28T04:26:09.525688Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.525688Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.525759Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-08-28T04:26:09.525760Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.525761Z 01O | ^ 2026-08-28T04:26:09.525761Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-08-28T04:26:09.525762Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.525762Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.525763Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-08-28T04:26:09.525766Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-08-28T04:26:09.525766Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.525767Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.525767Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-08-28T04:26:09.525768Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.525768Z 01O | ^ 2026-08-28T04:26:09.525768Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-08-28T04:26:09.525769Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-08-28T04:26:09.525769Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.525771Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-08-28T04:26:09.525772Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-08-28T04:26:09.525773Z 01O | ^ 2026-08-28T04:26:09.525773Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-08-28T04:26:09.525773Z 01O 85 | for (int i=0; i= 'thisncol' 2026-08-28T04:26:09.525926Z 01O 92 | for (int j=0; j= 'thisncol' 2026-08-28T04:26:09.526036Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-08-28T04:26:09.526177Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.526177Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-08-28T04:26:09.526178Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-08-28T04:26:09.526178Z 01O | ^ 2026-08-28T04:26:09.526179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-08-28T04:26:09.526179Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-08-28T04:26:09.526196Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.526198Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-08-28T04:26:09.526199Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-08-28T04:26:09.526199Z 01O | ^ 2026-08-28T04:26:09.526219Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-08-28T04:26:09.526219Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.526220Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.526220Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-08-28T04:26:09.526221Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-08-28T04:26:09.526221Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.526222Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.526224Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-08-28T04:26:09.526225Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.526225Z 01O | ^ 2026-08-28T04:26:09.526225Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-08-28T04:26:09.526226Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.526226Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.526227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-08-28T04:26:09.526227Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-08-28T04:26:09.526228Z 01O | ^ 2026-08-28T04:26:09.526243Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-08-28T04:26:09.526244Z 01O 142 | for (int i=0; i= 'ncol' 2026-08-28T04:26:09.526307Z 01O 143 | for (int i=0; i0 checked above 2026-08-28T04:26:09.526926Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.526929Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.526929Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.526930Z 01O | ^ 2026-08-28T04:26:09.527010Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-08-28T04:26:09.527011Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.527011Z 01O | ^ 2026-08-28T04:26:09.527012Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.527012Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.527013Z 01O | ^ 2026-08-28T04:26:09.527013Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-08-28T04:26:09.527014Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.527014Z 01O | ^ 2026-08-28T04:26:09.527017Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-08-28T04:26:09.527018Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.527018Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.527018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-08-28T04:26:09.527027Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.527028Z 01O | ^ 2026-08-28T04:26:09.527028Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-08-28T04:26:09.527029Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.527029Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.527032Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-08-28T04:26:09.527032Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.527032Z 01O | ^ 2026-08-28T04:26:09.527033Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-08-28T04:26:09.527033Z 01O 37 | if (fill) { 2026-08-28T04:26:09.527034Z 01O | ^~~~ 2026-08-28T04:26:09.527034Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-08-28T04:26:09.527034Z 01O 37 | if (fill) { 2026-08-28T04:26:09.527035Z 01O | ^ 2026-08-28T04:26:09.527058Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-08-28T04:26:09.527058Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.527059Z 01O | ^~~~ 2026-08-28T04:26:09.527059Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-08-28T04:26:09.527060Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.527060Z 01O | ^ 2026-08-28T04:26:09.527063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-08-28T04:26:09.527063Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.527064Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.527120Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-08-28T04:26:09.527121Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.527122Z 01O | ^ 2026-08-28T04:26:09.527122Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-08-28T04:26:09.527123Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.527123Z 01O | ^~~~~~ 2026-08-28T04:26:09.527123Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-08-28T04:26:09.527124Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.527124Z 01O | ^ 2026-08-28T04:26:09.527124Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-08-28T04:26:09.527125Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.527126Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.527175Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.527176Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.527176Z 01O | ^ 2026-08-28T04:26:09.527177Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-08-28T04:26:09.527177Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.527178Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.527181Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-08-28T04:26:09.527181Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.527190Z 01O | ^ 2026-08-28T04:26:09.527191Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-08-28T04:26:09.527192Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.527192Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.527264Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-08-28T04:26:09.527265Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.527266Z 01O | ^ 2026-08-28T04:26:09.527267Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.527267Z 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-08-28T04:26:09.527272Z 01O | ^~~~ 2026-08-28T04:26:09.527330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-08-28T04:26:09.527331Z 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-08-28T04:26:09.527332Z 01O | ^ 2026-08-28T04:26:09.527333Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-08-28T04:26:09.527333Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-08-28T04:26:09.527334Z 01O | ^~~~~ 2026-08-28T04:26:09.527334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-08-28T04:26:09.527334Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-08-28T04:26:09.527335Z 01O | ^ 2026-08-28T04:26:09.527335Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-08-28T04:26:09.527336Z 01O 49 | for (int j=0; j0 checked above 2026-08-28T04:26:09.527338Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.527373Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-08-28T04:26:09.527374Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.527375Z 01O | ^ 2026-08-28T04:26:09.527375Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-08-28T04:26:09.527376Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.527376Z 01O | ^~~~~~~ 2026-08-28T04:26:09.527376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-08-28T04:26:09.527377Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.527377Z 01O | ^ 2026-08-28T04:26:09.527378Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-08-28T04:26:09.527378Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.527378Z 01O | ^~~~ 2026-08-28T04:26:09.527390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-08-28T04:26:09.527390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-08-28T04:26:09.527391Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.527391Z 01O | ^~~~ 2026-08-28T04:26:09.527489Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-08-28T04:26:09.527490Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.527491Z 01O | ^ 2026-08-28T04:26:09.527491Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-08-28T04:26:09.527492Z 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-08-28T04:26:09.527493Z 01O | ^~~~ 2026-08-28T04:26:09.527496Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-08-28T04:26:09.527496Z 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-08-28T04:26:09.527497Z 01O | ^ 2026-08-28T04:26:09.527497Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-08-28T04:26:09.527498Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.527498Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.527500Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-08-28T04:26:09.527501Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.527501Z 01O | ^ 2026-08-28T04:26:09.527571Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-08-28T04:26:09.527572Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-08-28T04:26:09.527572Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.527573Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-08-28T04:26:09.527573Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.527574Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.527574Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-08-28T04:26:09.527577Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-08-28T04:26:09.527578Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.527578Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.527579Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-08-28T04:26:09.527579Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.527580Z 01O | ^ 2026-08-28T04:26:09.527582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-08-28T04:26:09.527582Z 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-08-28T04:26:09.527583Z 01O | ^~~~ 2026-08-28T04:26:09.527586Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-08-28T04:26:09.527586Z 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-08-28T04:26:09.527587Z 01O | ^ 2026-08-28T04:26:09.527587Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-08-28T04:26:09.527596Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.527597Z 01O | ^~~~ 2026-08-28T04:26:09.527701Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-08-28T04:26:09.527702Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.527702Z 01O | ^ 2026-08-28T04:26:09.527703Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-08-28T04:26:09.527703Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.527704Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.527704Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-08-28T04:26:09.527708Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-08-28T04:26:09.527708Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.527709Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.527709Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-08-28T04:26:09.527710Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.527710Z 01O | ^ 2026-08-28T04:26:09.527711Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-08-28T04:26:09.527711Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-08-28T04:26:09.527711Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.527712Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-08-28T04:26:09.527712Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-08-28T04:26:09.527713Z 01O | ^ 2026-08-28T04:26:09.527714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-08-28T04:26:09.527715Z 01O 251 | if (idcol) { 2026-08-28T04:26:09.527715Z 01O | ^~~~~ 2026-08-28T04:26:09.527716Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-08-28T04:26:09.527716Z 01O 251 | if (idcol) { 2026-08-28T04:26:09.527716Z 01O | ^ 2026-08-28T04:26:09.527790Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.527791Z 01O 279 | for(int j=0; j0 checked above 2026-08-28T04:26:09.528306Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.528306Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.528307Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.528307Z 01O | ^ 2026-08-28T04:26:09.528308Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-08-28T04:26:09.528308Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.528309Z 01O | ^ 2026-08-28T04:26:09.528311Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-08-28T04:26:09.528311Z 01O 956 | #define isNull Rf_isNull 2026-08-28T04:26:09.528311Z 01O | ^ 2026-08-28T04:26:09.528312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-08-28T04:26:09.528322Z 01O 32 | if (isNull(li)) continue; 2026-08-28T04:26:09.528322Z 01O | ^ 2026-08-28T04:26:09.528405Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-08-28T04:26:09.528406Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.528406Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.528407Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-08-28T04:26:09.528407Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-08-28T04:26:09.528408Z 01O | ^ 2026-08-28T04:26:09.528411Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-08-28T04:26:09.528411Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.528412Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.528412Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-08-28T04:26:09.528413Z 01O 35 | if (!thisncol) continue; 2026-08-28T04:26:09.528413Z 01O | ^ 2026-08-28T04:26:09.528413Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-08-28T04:26:09.528414Z 01O 37 | if (fill) { 2026-08-28T04:26:09.528414Z 01O | ^~~~ 2026-08-28T04:26:09.528414Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-08-28T04:26:09.528415Z 01O 37 | if (fill) { 2026-08-28T04:26:09.528415Z 01O | ^ 2026-08-28T04:26:09.528499Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-08-28T04:26:09.528500Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.528501Z 01O | ^~~~ 2026-08-28T04:26:09.528501Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-08-28T04:26:09.528502Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-08-28T04:26:09.528502Z 01O | ^ 2026-08-28T04:26:09.528502Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-08-28T04:26:09.528503Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.528504Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.528504Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-08-28T04:26:09.528504Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-08-28T04:26:09.528505Z 01O | ^ 2026-08-28T04:26:09.528507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-08-28T04:26:09.528508Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.528508Z 01O | ^~~~~~ 2026-08-28T04:26:09.528509Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-08-28T04:26:09.528509Z 01O 45 | if (nNames>0) anyNames=true; 2026-08-28T04:26:09.528509Z 01O | ^ 2026-08-28T04:26:09.528512Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-08-28T04:26:09.528513Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.528513Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.528514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.528514Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.528515Z 01O | ^ 2026-08-28T04:26:09.528532Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-08-28T04:26:09.528543Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.528544Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.528544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-08-28T04:26:09.528545Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.528546Z 01O | ^ 2026-08-28T04:26:09.528630Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-08-28T04:26:09.528632Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.528633Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.528634Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-08-28T04:26:09.528635Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-08-28T04:26:09.528636Z 01O | ^ 2026-08-28T04:26:09.528637Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.528638Z 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-08-28T04:26:09.528649Z 01O | ^~~~ 2026-08-28T04:26:09.528650Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-08-28T04:26:09.528651Z 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-08-28T04:26:09.528652Z 01O | ^ 2026-08-28T04:26:09.528653Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-08-28T04:26:09.528654Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-08-28T04:26:09.528655Z 01O | ^~~~~ 2026-08-28T04:26:09.528712Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-08-28T04:26:09.528713Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-08-28T04:26:09.528713Z 01O | ^ 2026-08-28T04:26:09.528714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-08-28T04:26:09.528714Z 01O 49 | for (int j=0; j0 checked above 2026-08-28T04:26:09.528719Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.528737Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-08-28T04:26:09.528738Z 01O 29 | for (int i=0; i0 checked above 2026-08-28T04:26:09.528738Z 01O | ^ 2026-08-28T04:26:09.528739Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-08-28T04:26:09.528739Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.528749Z 01O | ^~~~~~~ 2026-08-28T04:26:09.528749Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-08-28T04:26:09.528750Z 01O 57 | if (numZero) { // #1871 2026-08-28T04:26:09.528750Z 01O | ^ 2026-08-28T04:26:09.528750Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-08-28T04:26:09.528751Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.528751Z 01O | ^~~~ 2026-08-28T04:26:09.528752Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-08-28T04:26:09.528752Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-08-28T04:26:09.528752Z 01O | ^ 2026-08-28T04:26:09.528771Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-08-28T04:26:09.528771Z 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-08-28T04:26:09.528772Z 01O | ^~~~ 2026-08-28T04:26:09.528773Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-08-28T04:26:09.528773Z 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-08-28T04:26:09.528774Z 01O | ^ 2026-08-28T04:26:09.528818Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-08-28T04:26:09.528819Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.528820Z 01O | ^~~~~~~~~~~~~~ 2026-08-28T04:26:09.528821Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-08-28T04:26:09.528821Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-08-28T04:26:09.528822Z 01O | ^ 2026-08-28T04:26:09.528839Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-08-28T04:26:09.528840Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-08-28T04:26:09.528840Z 01O | ^~~~~~~~~~~ 2026-08-28T04:26:09.528841Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-08-28T04:26:09.528841Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.528842Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.528842Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-08-28T04:26:09.528842Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-08-28T04:26:09.528843Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.528843Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.528844Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-08-28T04:26:09.528844Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-08-28T04:26:09.528845Z 01O | ^ 2026-08-28T04:26:09.528921Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-08-28T04:26:09.528922Z 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-08-28T04:26:09.528923Z 01O | ^~~~ 2026-08-28T04:26:09.528927Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-08-28T04:26:09.528928Z 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-08-28T04:26:09.528937Z 01O | ^ 2026-08-28T04:26:09.528937Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-08-28T04:26:09.528938Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.528938Z 01O | ^~~~ 2026-08-28T04:26:09.528939Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-08-28T04:26:09.528939Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.528940Z 01O | ^ 2026-08-28T04:26:09.528940Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-08-28T04:26:09.528940Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.528941Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.528941Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-08-28T04:26:09.528944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-08-28T04:26:09.528945Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.528945Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.528946Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-08-28T04:26:09.528946Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-08-28T04:26:09.528946Z 01O | ^ 2026-08-28T04:26:09.528998Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-08-28T04:26:09.528999Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-08-28T04:26:09.529000Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.529000Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-08-28T04:26:09.529000Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-08-28T04:26:09.529001Z 01O | ^ 2026-08-28T04:26:09.529001Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-08-28T04:26:09.529002Z 01O 251 | if (idcol) { 2026-08-28T04:26:09.529002Z 01O | ^~~~~ 2026-08-28T04:26:09.529004Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-08-28T04:26:09.529005Z 01O 251 | if (idcol) { 2026-08-28T04:26:09.529005Z 01O | ^ 2026-08-28T04:26:09.529007Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.529008Z 01O 279 | for(int j=0; j= 1 2026-08-28T04:26:09.529530Z 01O 27 | if (n<1) return 0; 2026-08-28T04:26:09.529530Z 01O | ^~~ 2026-08-28T04:26:09.529531Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-08-28T04:26:09.529531Z 01O 27 | if (n<1) return 0; 2026-08-28T04:26:09.529532Z 01O | ^ 2026-08-28T04:26:09.529532Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-08-28T04:26:09.529532Z 01O 29 | va_start(ap, fmt); 2026-08-28T04:26:09.529533Z 01O | ^ 2026-08-28T04:26:09.529638Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-08-28T04:26:09.529639Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-08-28T04:26:09.529640Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-08-28T04:26:09.529654Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-08-28T04:26:09.529654Z 01O 40 | while (*ch!='\0') { 2026-08-28T04:26:09.529655Z 01O | ^~~~~~~~~ 2026-08-28T04:26:09.529655Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-08-28T04:26:09.529656Z 01O 40 | while (*ch!='\0') { 2026-08-28T04:26:09.529656Z 01O | ^ 2026-08-28T04:26:09.529656Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-08-28T04:26:09.529657Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-08-28T04:26:09.529657Z 01O | ^~~~~~~~ 2026-08-28T04:26:09.529658Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-08-28T04:26:09.529658Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-08-28T04:26:09.529658Z 01O | ^ 2026-08-28T04:26:09.529659Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-08-28T04:26:09.529659Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-08-28T04:26:09.529660Z 01O | ^~~~~~~~~~ 2026-08-28T04:26:09.529679Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-08-28T04:26:09.529680Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-08-28T04:26:09.529681Z 01O | ^ 2026-08-28T04:26:09.529681Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-08-28T04:26:09.529682Z 01O 47 | if (!end) { 2026-08-28T04:26:09.529682Z 01O | ^~~~ 2026-08-28T04:26:09.529683Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-08-28T04:26:09.529683Z 01O 47 | if (!end) { 2026-08-28T04:26:09.529683Z 01O | ^ 2026-08-28T04:26:09.529701Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-08-28T04:26:09.529702Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-08-28T04:26:09.529703Z 01O | ^ 2026-08-28T04:26:09.529703Z 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-08-28T04:26:09.529704Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-08-28T04:26:09.529704Z 01O | ^~~~~~ 2026-08-28T04:26:09.529705Z 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-08-28T04:26:09.529706Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-08-28T04:26:09.529706Z 01O | ^~~~~~ 2026-08-28T04:26:09.547126Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-08-28T04:26:10.089523Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-08-28T04:26:10.089585Z 01O * using R Under development (unstable) (2026-08-25 r90448) 2026-08-28T04:26:10.089832Z 01O * using platform: x86_64-pc-linux-gnu 2026-08-28T04:26:10.090064Z 01O * R was compiled by 2026-08-28T04:26:10.090285Z 01O Debian clang version 21.1.8 (10) 2026-08-28T04:26:10.090288Z 01O GNU Fortran (Debian 15.3.0-2) 15.3.0 2026-08-28T04:26:10.090500Z 01O * running under: Debian GNU/Linux forky/sid 2026-08-28T04:26:10.090712Z 01O * using session charset: UTF-8 2026-08-28T04:26:10.091298Z 01O * current time: 2026-08-28 04:26:10 UTC 2026-08-28T04:26:10.856896Z 01O * using option ‘--as-cran’ 2026-08-28T04:26:10.857333Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-08-28T04:26:10.860486Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-08-28T04:26:10.860693Z 01O * package encoding: UTF-8 2026-08-28T04:26:10.860965Z 01O * checking CRAN incoming feasibility ... NOTE 2026-08-28T04:26:11.393288Z 01O Maintainer: ‘Tyson Barrett ’ 2026-08-28T04:26:11.393293Z 01O 2026-08-28T04:26:11.393294Z 01O Authors@R field should be a call to person(), or combine such calls. 2026-08-28T04:26:11.393310Z 01O * checking package namespace information ... OK 2026-08-28T04:26:11.402240Z 01O * checking package dependencies ... OK 2026-08-28T04:26:12.640392Z 01O * checking if this is a source package ... OK 2026-08-28T04:26:12.644109Z 01O * checking if there is a namespace ... OK 2026-08-28T04:26:12.648802Z 01O * checking for .dll and .exe files ... OK 2026-08-28T04:26:12.649387Z 01O * checking for hidden files and directories ... OK 2026-08-28T04:26:12.652453Z 01O * checking for portable file names ... OK 2026-08-28T04:26:12.657587Z 01O * checking for sufficient/correct file permissions ... OK 2026-08-28T04:26:12.662160Z 01O * checking whether package ‘data.table’ can be installed ... [23s/23s] OK 2026-08-28T04:26:36.134512Z 01O * used C compiler: ‘Debian clang version 21.1.8 (10)’ 2026-08-28T04:26:36.134940Z 01O * checking installed package size ... INFO 2026-08-28T04:26:36.139342Z 01O installed size is 8.0Mb 2026-08-28T04:26:36.140024Z 01O sub-directories of 1Mb or more: 2026-08-28T04:26:36.140600Z 01O doc 1.1Mb 2026-08-28T04:26:36.140601Z 01O libs 1.5Mb 2026-08-28T04:26:36.140602Z 01O po 1.7Mb 2026-08-28T04:26:36.140603Z 01O tests 2.2Mb 2026-08-28T04:26:36.151615Z 01O * checking package directory ... OK 2026-08-28T04:26:36.152046Z 01O * checking for future file timestamps ... OK 2026-08-28T04:26:36.152787Z 01O * checking ‘build’ directory ... OK 2026-08-28T04:26:36.153731Z 01O * checking DESCRIPTION meta-information ... OK 2026-08-28T04:26:36.997177Z 01O * checking top-level files ... OK 2026-08-28T04:26:38.561607Z 01O * checking for left-over files ... OK 2026-08-28T04:26:38.565245Z 01O * checking index information ... OK 2026-08-28T04:26:38.748636Z 01O * checking package subdirectories ... OK 2026-08-28T04:26:39.149942Z 01O * checking code files for non-ASCII characters ... OK 2026-08-28T04:26:39.205133Z 01O * checking R files for syntax errors ... OK 2026-08-28T04:26:39.293753Z 01O * checking whether the package can be loaded ... OK 2026-08-28T04:26:39.509408Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-08-28T04:26:39.682457Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-08-28T04:26:39.861583Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-08-28T04:26:40.047301Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-08-28T04:26:40.268010Z 01O * checking loading without being on the library search path ... OK 2026-08-28T04:26:40.697339Z 01O * checking whether startup messages can be suppressed ... OK 2026-08-28T04:26:40.917743Z 01O * checking use of S3 registration ... OK 2026-08-28T04:26:40.952803Z 01O * checking dependencies in R code ... OK 2026-08-28T04:26:41.921035Z 01O * checking S3 generic/method consistency ... OK 2026-08-28T04:26:42.316530Z 01O * checking replacement functions ... OK 2026-08-28T04:26:42.556545Z 01O * checking foreign function calls ... OK 2026-08-28T04:26:43.431549Z 01O * checking R code for possible problems ... [19s/19s] OK 2026-08-28T04:27:02.284057Z 01O * checking Rd files ... OK 2026-08-28T04:27:03.176019Z 01O * checking Rd metadata ... OK 2026-08-28T04:27:03.225423Z 01O * checking Rd line widths ... NOTE 2026-08-28T04:27:03.567141Z 01O Rd file 'nafill.Rd': 2026-08-28T04:27:03.567144Z 01O \usage lines wider than 90 characters: 2026-08-28T04:27:03.567145Z 01O setnafill(x, type=c("const", "locf", "nocb"), fill=NA, nan=NA, cols=seq_along(x), limit=Inf) 2026-08-28T04:27:03.567147Z 01O 2026-08-28T04:27:03.567442Z 01O These lines will be truncated in the PDF manual. 2026-08-28T04:27:03.567692Z 01O * checking Rd cross-references ... OK 2026-08-28T04:27:04.256768Z 01O * checking for missing documentation entries ... OK 2026-08-28T04:27:04.510796Z 01O * checking for code/documentation mismatches ... INFO 2026-08-28T04:27:04.963422Z 01O Exported functions without usage information: 2026-08-28T04:27:04.963425Z 01O := dcast let melt 2026-08-28T04:27:05.615154Z 01O * checking Rd \usage sections ... OK 2026-08-28T04:27:06.598648Z 01O * checking Rd contents ... OK 2026-08-28T04:27:07.082776Z 01O * checking for unstated dependencies in examples ... OK 2026-08-28T04:27:07.586383Z 01O * checking line endings in shell scripts ... OK 2026-08-28T04:27:07.586855Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-08-28T04:27:07.606903Z 01O * checking line endings in Makefiles ... OK 2026-08-28T04:27:07.607428Z 01O * checking compilation flags in Makevars ... OK 2026-08-28T04:27:07.668431Z 01O * checking for GNU extensions in Makefiles ... OK 2026-08-28T04:27:07.669168Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-08-28T04:27:07.670493Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-08-28T04:27:07.674950Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-08-28T04:27:07.682118Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-08-28T04:27:07.705544Z 01O * checking compilation flags used ... OK 2026-08-28T04:27:07.707261Z 01O * checking compiled code ... OK 2026-08-28T04:27:10.874384Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-08-28T04:27:11.081774Z 01O * checking files in ‘vignettes’ ... OK 2026-08-28T04:27:11.965571Z 01O * checking examples ... OK 2026-08-28T04:27:19.550524Z 01O * checking examples with --run-donttest ... OK 2026-08-28T04:27:29.992929Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-08-28T04:27:30.065854Z 01O * checking tests ... 2026-08-28T04:27:30.234765Z 01O Running ‘autoprint.R’ 2026-08-28T04:27:30.493474Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-08-28T04:27:30.501589Z 01O Running ‘froll.R’ [414s/414s] 2026-08-28T04:34:24.429570Z 01O Running ‘litedown.R’ 2026-08-28T04:34:24.751243Z 01O Running ‘main.R’ [44s/44s] 2026-08-28T04:35:09.051468Z 01O Running ‘mergelist.R’ 2026-08-28T04:35:10.724804Z 01O Running ‘nafill.R’ 2026-08-28T04:35:11.232090Z 01O Running ‘optimize.R’ 2026-08-28T04:35:12.614537Z 01O Running ‘other.R’ 2026-08-28T04:35:12.848541Z 01O Running ‘programming.R’ 2026-08-28T04:35:13.448841Z 01O Running ‘S4.R’ 2026-08-28T04:35:13.801144Z 01O Running ‘self.R’ 2026-08-28T04:35:14.041745Z 01O Running ‘types.R’ 2026-08-28T04:35:14.313907Z 01O [464s/464s] OK 2026-08-28T04:35:14.419586Z 01O * checking for unstated dependencies in vignettes ... OK 2026-08-28T04:35:14.717209Z 01O * checking package vignettes ... OK 2026-08-28T04:35:15.349842Z 01O * checking re-building of vignette outputs ... [32s/33s] OK 2026-08-28T04:35:47.918764Z 01O * checking PDF version of manual ... OK 2026-08-28T04:35:55.495814Z 01O * checking HTML version of manual ... NOTE 2026-08-28T04:35:58.961053Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-08-28T04:35:58.961384Z 01O * checking for non-standard things in the check directory ... OK 2026-08-28T04:35:58.963001Z 01E 2026-08-28T04:35:58.963286Z 01E See 2026-08-28T04:35:58.963289Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-08-28T04:35:58.963291Z 01E for details. 2026-08-28T04:35:58.963301Z 01E 2026-08-28T04:35:58.961867Z 01O * checking for detritus in the temp directory ... OK 2026-08-28T04:35:58.963737Z 01O * DONE 2026-08-28T04:35:58.963738Z 01O Status: 3 NOTEs 2026-08-28T04:35:58.986961Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-08-28T04:35:58.988930Z 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-08-28T04:35:59.141699Z 01E Error: Last line of '00check.log' is not 'Status: 1 NOTE' (V8 package) but 'Status: 3 NOTEs' 2026-08-28T04:35:59.141706Z 01E Execution halted 2026-08-28T04:35:59.340855Z 00O section_end:1787891759:step_script  2026-08-28T04:35:59.341429Z 00O+section_start:1787891759:after_script  2026-08-28T04:35:59.341437Z 00O+Running after_script 2026-08-28T04:35:59.707146Z 01O Running after script... 2026-08-28T04:35:59.707181Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-08-28T04:35:59.708627Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-08-28T04:35:59.708634Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-08-28T04:35:59.708762Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-08-28T04:35:59.708768Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-08-28T04:35:59.879756Z 00O section_end:1787891759:after_script  2026-08-28T04:35:59.880578Z 00O+section_start:1787891759:upload_artifacts_on_failure  2026-08-28T04:35:59.880585Z 00O+Uploading artifacts for failed job 2026-08-28T04:36:00.290625Z 01O Uploading artifacts... 2026-08-28T04:36:00.357015Z 01E bus/test-lin-dev-clang-cran: found 721 matching artifact files and directories 2026-08-28T04:36:01.528531Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=c6408ab0329540619d80e86054bd3a60 id=16161768339 status=201 token=72_ht9gAy 2026-08-28T04:36:01.709090Z 00O section_end:1787891761:upload_artifacts_on_failure  2026-08-28T04:36:01.709536Z 00O+section_start:1787891761:cleanup_file_variables  2026-08-28T04:36:01.709542Z 00O+Cleaning up project directory and file based variables 2026-08-28T04:36:02.249751Z 00O section_end:1787891762:cleanup_file_variables  2026-08-28T04:36:02.291012Z 00O ERROR: Job failed: exit code 1