2026-04-13T04:22:05.740806Z 00O Running with gitlab-runner 18.10.0~pre.705.ge11dde90 (e11dde90) 2026-04-13T04:22:05.740818Z 00O  on blue-1.saas-linux-medium.runners-manager.gitlab.com/default 2QMMJaNnp, system ID: s_406404729ae4 2026-04-13T04:22:05.740823Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true 2026-04-13T04:22:05.740841Z 00O Resolving secrets 2026-04-13T04:22:05.740968Z 00O section_start:1776054125:prepare_executor 2026-04-13T04:22:05.740969Z 00O+Preparing the "docker+machine" executor 2026-04-13T04:22:05.871853Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-04-13T04:22:09.943526Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-04-13T04:22:09.944110Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-04-13T04:22:09.944125Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-04-13T04:22:29.915089Z 00O Using docker image sha256:701a32784e263fd70a7115344ab6bc4d2303267ace66092450f350850822f7ec for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:aa04249ed243577e6517522c4a0e2c3a609e0a4dc0e7e07c6790618c67ef71c5 ... 2026-04-13T04:22:29.915175Z 00O section_end:1776054149:prepare_executor 2026-04-13T04:22:29.915177Z 00O+section_start:1776054149:prepare_script 2026-04-13T04:22:29.915284Z 00O+Preparing environment 2026-04-13T04:22:29.916194Z 00O Using effective pull policy of [always] for container sha256:0180cda2f308364137b3d7848f2ccf23db911e0b08fcfc26532194be209c0152 2026-04-13T04:22:37.510426Z 01O Running on runner-2qmmjannp-project-3622566-concurrent-0 via runner-2qmmjannp-s-l-m-amd64-1776053858-752332cf... 2026-04-13T04:22:37.679954Z 00O section_end:1776054157:prepare_script 2026-04-13T04:22:37.679963Z 00O+section_start:1776054157:get_sources 2026-04-13T04:22:37.680513Z 00O+Getting source from Git repository 2026-04-13T04:22:38.047061Z 01O Gitaly correlation ID: c2609595821141fc9e7947c6d5f66af2 2026-04-13T04:22:38.054061Z 01O Fetching changes... 2026-04-13T04:22:38.057470Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-04-13T04:22:38.060566Z 01O Created fresh repository. 2026-04-13T04:22:43.692512Z 01O Checking out 8364344c as detached HEAD (ref is master)... 2026-04-13T04:22:43.881358Z 01O 2026-04-13T04:22:43.881368Z 01O Skipping Git submodules setup 2026-04-13T04:22:43.881370Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-04-13T04:22:44.112835Z 00O section_end:1776054164:get_sources 2026-04-13T04:22:44.112843Z 00O+section_start:1776054164:download_artifacts 2026-04-13T04:22:44.113594Z 00O+Downloading artifacts 2026-04-13T04:22:44.540644Z 01O Downloading artifacts for build (13888029259)... 2026-04-13T04:22:44.813317Z 01E Downloading artifacts from coordinator... ok  correlation_id=0f5208488e03414eaccc2dec620fd5c0 host=storage.googleapis.com id=13888029259 responseStatus=200 OK token=6e_iYjPs5 2026-04-13T04:22:44.832245Z 01O Downloading artifacts for mirror-packages (13888029255)... 2026-04-13T04:22:45.821014Z 01E Downloading artifacts from coordinator... ok  correlation_id=4375ff745dbe4ab6aa742a9cb580b5b7 host=storage.googleapis.com id=13888029255 responseStatus=200 OK token=6e_iYjPs5 2026-04-13T04:22:46.858756Z 00O section_end:1776054166:download_artifacts 2026-04-13T04:22:46.858763Z 00O+section_start:1776054166:step_script 2026-04-13T04:22:46.859206Z 00O+Executing "step_script" stage of the job script 2026-04-13T04:22:46.859225Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-04-13T04:22:46.860217Z 00O Using docker image sha256:701a32784e263fd70a7115344ab6bc4d2303267ace66092450f350850822f7ec for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:aa04249ed243577e6517522c4a0e2c3a609e0a4dc0e7e07c6790618c67ef71c5 ... 2026-04-13T04:22:47.224677Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-04-13T04:22:47.234410Z 01O $ mkdir -p ~/.R 2026-04-13T04:22:47.235737Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-04-13T04:22:47.235851Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-04-13T04:22:47.235942Z 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-04-13T04:22:47.455574Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-04-13T04:22:47.455583Z 01E 2026-04-13T04:24:02.765694Z 01E Updating HTML index of packages in '.Library' 2026-04-13T04:24:02.766476Z 01E Making 'packages.html' ... done 2026-04-13T04:24:02.783275Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-04-13T04:24:02.801959Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-04-13T04:24:10.189732Z 01E 3 warnings generated. 2026-04-13T04:24:10.189779Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-04-13T04:24:13.266552Z 01E 3 warnings generated. 2026-04-13T04:24:13.266867Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-04-13T04:24:20.169107Z 01E 3 warnings generated. 2026-04-13T04:24:20.169123Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-04-13T04:24:20.410275Z 01E 7 warnings generated. 2026-04-13T04:24:20.410625Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-04-13T04:24:23.106532Z 01E 7 warnings generated. 2026-04-13T04:24:23.106670Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-04-13T04:24:25.375326Z 01E 7 warnings generated. 2026-04-13T04:24:25.375569Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-04-13T04:24:29.538120Z 01E 7 warnings generated. 2026-04-13T04:24:29.538460Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-04-13T04:24:29.600700Z 01E 7 warnings generated. 2026-04-13T04:24:29.601046Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-04-13T04:24:32.490776Z 01E 10 warnings generated. 2026-04-13T04:24:32.491109Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-04-13T04:24:37.731779Z 01E 11 warnings generated. 2026-04-13T04:24:37.731909Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-04-13T04:24:41.622055Z 01E 12 warnings generated. 2026-04-13T04:24:41.622331Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-04-13T04:24:49.831853Z 01E 13 warnings generated. 2026-04-13T04:24:49.832162Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-04-13T04:24:53.200708Z 01E 13 warnings generated. 2026-04-13T04:24:53.200914Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-04-13T04:24:58.758720Z 01E 25 warnings generated. 2026-04-13T04:24:58.758729Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-04-13T04:25:07.647716Z 01E 29 warnings generated. 2026-04-13T04:25:07.647733Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-04-13T04:25:18.367947Z 01E 35 warnings generated. 2026-04-13T04:25:18.367960Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-04-13T04:25:21.987194Z 01E 36 warnings generated. 2026-04-13T04:25:21.987416Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-04-13T04:25:24.419310Z 01E 39 warnings generated. 2026-04-13T04:25:24.419578Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-04-13T04:25:24.471240Z 01E 39 warnings generated. 2026-04-13T04:25:24.471408Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-04-13T04:25:24.812354Z 01E 39 warnings generated. 2026-04-13T04:25:24.812527Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-04-13T04:25:31.133504Z 01E 41 warnings generated. 2026-04-13T04:25:31.133515Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-04-13T04:25:34.669821Z 01E 41 warnings generated. 2026-04-13T04:25:34.670233Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-04-13T04:25:48.778408Z 01E 46 warnings generated. 2026-04-13T04:25:48.778423Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-04-13T04:25:48.901757Z 01E 47 warnings generated. 2026-04-13T04:25:48.902100Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-04-13T04:25:49.160251Z 01E 47 warnings generated. 2026-04-13T04:25:49.160539Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-04-13T04:25:53.897176Z 01E 50 warnings generated. 2026-04-13T04:25:53.897344Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-04-13T04:25:53.947335Z 01E 50 warnings generated. 2026-04-13T04:25:53.947678Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-04-13T04:25:53.981003Z 01E 50 warnings generated. 2026-04-13T04:25:53.981359Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-04-13T04:25:54.847791Z 01E 50 warnings generated. 2026-04-13T04:25:54.848173Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-04-13T04:25:57.971360Z 01E 63 warnings generated. 2026-04-13T04:25:57.971630Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-04-13T04:25:58.002840Z 01E 63 warnings generated. 2026-04-13T04:25:58.003159Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-04-13T04:25:58.053289Z 01E 63 warnings generated. 2026-04-13T04:25:58.053660Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-04-13T04:25:58.204633Z 01E 64 warnings generated. 2026-04-13T04:25:58.204874Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-04-13T04:25:58.668601Z 01E 64 warnings generated. 2026-04-13T04:25:58.668920Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-04-13T04:25:59.488380Z 01E 64 warnings generated. 2026-04-13T04:25:59.488763Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-04-13T04:26:02.849777Z 01E 70 warnings generated. 2026-04-13T04:26:02.850013Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-04-13T04:26:05.474008Z 01E 70 warnings generated. 2026-04-13T04:26:05.474435Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-04-13T04:26:05.504875Z 01E 70 warnings generated. 2026-04-13T04:26:05.505302Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-04-13T04:26:08.420167Z 01E 70 warnings generated. 2026-04-13T04:26:08.420499Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-04-13T04:26:09.726648Z 01E 72 warnings generated. 2026-04-13T04:26:09.726943Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-04-13T04:26:10.089235Z 01E 72 warnings generated. 2026-04-13T04:26:10.089488Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-04-13T04:26:12.860493Z 01E 72 warnings generated. 2026-04-13T04:26:12.860770Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-04-13T04:26:13.198223Z 01E 72 warnings generated. 2026-04-13T04:26:13.198673Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-04-13T04:26:20.176511Z 01E 72 warnings generated. 2026-04-13T04:26:20.176559Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-04-13T04:26:21.027836Z 01E 72 warnings generated. 2026-04-13T04:26:21.028302Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-04-13T04:26:21.067442Z 01E 72 warnings generated. 2026-04-13T04:26:21.067756Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-04-13T04:26:21.144222Z 01E 72 warnings generated. 2026-04-13T04:26:21.145163Z 01O /builds/Rdatatable/data.table/src/assign.c:9:31: warning: Although the value stored to 'p' is used in the enclosing expression, the value is never actually read from 'p' [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.145166Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-04-13T04:26:21.145167Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145168Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-04-13T04:26:21.145168Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145169Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-04-13T04:26:21.145170Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145171Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-04-13T04:26:21.145172Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145172Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-04-13T04:26:21.145173Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145174Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-04-13T04:26:21.145174Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145175Z 01O 15 | R_NilValue 2026-04-13T04:26:21.145175Z 01O | ~~~~~~~~~~ 2026-04-13T04:26:21.145176Z 01O 16 | )) 2026-04-13T04:26:21.145176Z 01O | ~~ 2026-04-13T04:26:21.145177Z 01O 17 | )); 2026-04-13T04:26:21.145177Z 01O | ~ 2026-04-13T04:26:21.145178Z 01O /builds/Rdatatable/data.table/src/assign.c:9:31: note: Although the value stored to 'p' is used in the enclosing expression, the value is never actually read from 'p' 2026-04-13T04:26:21.145178Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-04-13T04:26:21.145179Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145180Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-04-13T04:26:21.145180Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145181Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-04-13T04:26:21.145212Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145213Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-04-13T04:26:21.145214Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145215Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-04-13T04:26:21.145215Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145216Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-04-13T04:26:21.145217Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145217Z 01O 15 | R_NilValue 2026-04-13T04:26:21.145218Z 01O | ~~~~~~~~~~ 2026-04-13T04:26:21.145218Z 01O 16 | )) 2026-04-13T04:26:21.145219Z 01O | ~~ 2026-04-13T04:26:21.145219Z 01O 17 | )); 2026-04-13T04:26:21.145220Z 01O | ~ 2026-04-13T04:26:21.145226Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: warning: Out of bound access to memory after the end of 'source' [clang-analyzer-security.ArrayBound] 2026-04-13T04:26:21.145227Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-04-13T04:26:21.145228Z 01O | ^ 2026-04-13T04:26:21.145228Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-04-13T04:26:21.145229Z 01O 937 | const STYPE val = sd[soff]; \ 2026-04-13T04:26:21.145230Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.145230Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'len' is >= 1 2026-04-13T04:26:21.145231Z 01O 714 | if (len<1) return NULL; 2026-04-13T04:26:21.145231Z 01O | ^~~~~ 2026-04-13T04:26:21.145232Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-04-13T04:26:21.145232Z 01O 714 | if (len<1) return NULL; 2026-04-13T04:26:21.145233Z 01O | ^ 2026-04-13T04:26:21.145257Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: Assuming 'sourceLen' is < 0 2026-04-13T04:26:21.145259Z 01O 715 | int slen = sourceLen>=0 ? sourceLen : length(source); // since source may get reassigned to a scalar, we should not mark it as const 2026-04-13T04:26:21.145260Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.145261Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: '?' condition is false 2026-04-13T04:26:21.145262Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming 'slen' is not equal to 0 2026-04-13T04:26:21.145263Z 01O 716 | if (slen==0) return NULL; 2026-04-13T04:26:21.145263Z 01O | ^~~~~~~ 2026-04-13T04:26:21.145264Z 01O /builds/Rdatatable/data.table/src/assign.c:716:3: note: Taking false branch 2026-04-13T04:26:21.145264Z 01O 716 | if (slen==0) return NULL; 2026-04-13T04:26:21.145265Z 01O | ^ 2026-04-13T04:26:21.145265Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Assuming 'sourceStart' is >= 0 2026-04-13T04:26:21.145266Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-04-13T04:26:21.145266Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.145267Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Left side of '||' is false 2026-04-13T04:26:21.145267Z 01O /builds/Rdatatable/data.table/src/assign.c:717:24: note: Assuming the condition is false 2026-04-13T04:26:21.145268Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-04-13T04:26:21.145269Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145269Z 01O /builds/Rdatatable/data.table/src/assign.c:717:3: note: Taking false branch 2026-04-13T04:26:21.145275Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-04-13T04:26:21.145276Z 01O | ^ 2026-04-13T04:26:21.145276Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming the condition is false 2026-04-13T04:26:21.145277Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-04-13T04:26:21.145277Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.145278Z 01O /builds/Rdatatable/data.table/src/assign.c:719:22: note: Left side of '&&' is false 2026-04-13T04:26:21.145278Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-04-13T04:26:21.145279Z 01O | ^ 2026-04-13T04:26:21.145279Z 01O /builds/Rdatatable/data.table/src/assign.c:722:7: note: Assuming 'slen' is <= 1 2026-04-13T04:26:21.145280Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-04-13T04:26:21.145281Z 01O | ^~~~~~ 2026-04-13T04:26:21.145289Z 01O /builds/Rdatatable/data.table/src/assign.c:722:14: note: Left side of '&&' is false 2026-04-13T04:26:21.145290Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-04-13T04:26:21.145290Z 01O | ^ 2026-04-13T04:26:21.145291Z 01O /builds/Rdatatable/data.table/src/assign.c:726:7: note: Assuming 'colname' is not equal to NULL 2026-04-13T04:26:21.145291Z 01O 726 | if (colname==NULL) 2026-04-13T04:26:21.145292Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.145292Z 01O /builds/Rdatatable/data.table/src/assign.c:726:3: note: Taking false branch 2026-04-13T04:26:21.145293Z 01O 726 | if (colname==NULL) 2026-04-13T04:26:21.145293Z 01O | ^ 2026-04-13T04:26:21.145294Z 01O /builds/Rdatatable/data.table/src/assign.c:731:26: note: Assuming the condition is false 2026-04-13T04:26:21.145294Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-04-13T04:26:21.145295Z 01O | ^ 2026-04-13T04:26:21.145369Z 01O /usr/local/lib/R/include/Rinternals.h:967:18: note: expanded from macro 'isReal' 2026-04-13T04:26:21.145370Z 01O 967 | #define isReal Rf_isReal 2026-04-13T04:26:21.145371Z 01O | ^ 2026-04-13T04:26:21.145371Z 01O /builds/Rdatatable/data.table/src/assign.c:731:41: note: Left side of '&&' is false 2026-04-13T04:26:21.145372Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-04-13T04:26:21.145373Z 01O | ^ 2026-04-13T04:26:21.145435Z 01O /builds/Rdatatable/data.table/src/assign.c:732:26: note: Assuming the condition is false 2026-04-13T04:26:21.145440Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-04-13T04:26:21.145441Z 01O | ^ 2026-04-13T04:26:21.145446Z 01O /usr/local/lib/R/include/Rinternals.h:967:18: note: expanded from macro 'isReal' 2026-04-13T04:26:21.145447Z 01O 967 | #define isReal Rf_isReal 2026-04-13T04:26:21.145448Z 01O | ^ 2026-04-13T04:26:21.145449Z 01O /builds/Rdatatable/data.table/src/assign.c:732:41: note: Left side of '&&' is false 2026-04-13T04:26:21.145450Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-04-13T04:26:21.145451Z 01O | ^ 2026-04-13T04:26:21.145452Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Assuming 'sourceIsFactor' is false 2026-04-13T04:26:21.145453Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-04-13T04:26:21.145454Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.145455Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Left side of '||' is false 2026-04-13T04:26:21.145462Z 01O /builds/Rdatatable/data.table/src/assign.c:733:25: note: Assuming 'targetIsFactor' is false 2026-04-13T04:26:21.145463Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-04-13T04:26:21.145464Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.145487Z 01O /builds/Rdatatable/data.table/src/assign.c:733:3: note: Taking false branch 2026-04-13T04:26:21.145488Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-04-13T04:26:21.145489Z 01O | ^ 2026-04-13T04:26:21.145499Z 01O /builds/Rdatatable/data.table/src/assign.c:840:14: note: Assuming the condition is false 2026-04-13T04:26:21.145500Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-04-13T04:26:21.145500Z 01O | ^ 2026-04-13T04:26:21.145501Z 01O /usr/local/lib/R/include/Rinternals.h:970:19: note: expanded from macro 'isString' 2026-04-13T04:26:21.145501Z 01O 970 | #define isString Rf_isString 2026-04-13T04:26:21.145502Z 01O | ^ 2026-04-13T04:26:21.145530Z 01O /builds/Rdatatable/data.table/src/assign.c:840:31: note: Left side of '&&' is false 2026-04-13T04:26:21.145531Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-04-13T04:26:21.145532Z 01O | ^ 2026-04-13T04:26:21.145586Z 01O /builds/Rdatatable/data.table/src/assign.c:849:14: note: Assuming the condition is false 2026-04-13T04:26:21.145587Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-04-13T04:26:21.145587Z 01O | ^ 2026-04-13T04:26:21.145588Z 01O /usr/local/lib/R/include/Rinternals.h:959:20: note: expanded from macro 'isNewList' 2026-04-13T04:26:21.145589Z 01O 959 | #define isNewList Rf_isNewList 2026-04-13T04:26:21.145589Z 01O | ^ 2026-04-13T04:26:21.145590Z 01O /builds/Rdatatable/data.table/src/assign.c:849:32: note: Left side of '&&' is false 2026-04-13T04:26:21.145590Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-04-13T04:26:21.145591Z 01O | ^ 2026-04-13T04:26:21.145659Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Assuming the condition is false 2026-04-13T04:26:21.145660Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-04-13T04:26:21.145661Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.145662Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Left side of '||' is false 2026-04-13T04:26:21.145676Z 01O /builds/Rdatatable/data.table/src/assign.c:864:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-04-13T04:26:21.145677Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-04-13T04:26:21.145677Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.145678Z 01O /builds/Rdatatable/data.table/src/assign.c:864:75: note: Left side of '&&' is false 2026-04-13T04:26:21.145679Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-04-13T04:26:21.145679Z 01O | ^ 2026-04-13T04:26:21.145725Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: Assuming the condition is false 2026-04-13T04:26:21.145727Z 01O 974 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-04-13T04:26:21.145727Z 01O | ^ 2026-04-13T04:26:21.145728Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.145728Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.145729Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.145730Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: '?' condition is false 2026-04-13T04:26:21.145730Z 01O 974 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-04-13T04:26:21.145738Z 01O | ^ 2026-04-13T04:26:21.145739Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.145739Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.145740Z 01O | ^ 2026-04-13T04:26:21.145820Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Assuming the condition is true 2026-04-13T04:26:21.145821Z 01O 975 | 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-04-13T04:26:21.145822Z 01O | ^ 2026-04-13T04:26:21.145824Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.145825Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.145826Z 01O | ^ 2026-04-13T04:26:21.145907Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-04-13T04:26:21.145908Z 01O 975 | 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-04-13T04:26:21.145909Z 01O | ^ 2026-04-13T04:26:21.145910Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.145910Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.145911Z 01O | ^ 2026-04-13T04:26:21.145915Z 01O /builds/Rdatatable/data.table/src/assign.c:975:39: note: Assuming 'slen' is > 0 2026-04-13T04:26:21.145915Z 01O 975 | 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-04-13T04:26:21.145916Z 01O | ^~~~~~ 2026-04-13T04:26:21.145974Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-04-13T04:26:21.145975Z 01O 975 | 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-04-13T04:26:21.145975Z 01O | ^ 2026-04-13T04:26:21.145976Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.145976Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.145977Z 01O | ^ 2026-04-13T04:26:21.145981Z 01O /builds/Rdatatable/data.table/src/assign.c:975:49: note: Assuming 'slen' is equal to 'len' 2026-04-13T04:26:21.145981Z 01O 975 | 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-04-13T04:26:21.145982Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.146074Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-04-13T04:26:21.146076Z 01O 975 | 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-04-13T04:26:21.146077Z 01O | ^ 2026-04-13T04:26:21.146077Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.146078Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.146078Z 01O | ^ 2026-04-13T04:26:21.146087Z 01O /builds/Rdatatable/data.table/src/assign.c:975:62: note: Assuming 'soff' is not equal to 0 2026-04-13T04:26:21.146087Z 01O 975 | 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-04-13T04:26:21.146098Z 01O | ^~~~~~~ 2026-04-13T04:26:21.146099Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: Assuming the condition is false 2026-04-13T04:26:21.146099Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-04-13T04:26:21.146100Z 01O | ^ 2026-04-13T04:26:21.146101Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.146101Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.146102Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.146175Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: '?' condition is false 2026-04-13T04:26:21.146176Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-04-13T04:26:21.146176Z 01O | ^ 2026-04-13T04:26:21.146177Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.146178Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.146178Z 01O | ^ 2026-04-13T04:26:21.146179Z 01O /builds/Rdatatable/data.table/src/assign.c:977:3: note: Control jumps to 'case 20:' at line 1105 2026-04-13T04:26:21.146179Z 01O 977 | switch (TYPEOF(target)) { 2026-04-13T04:26:21.146180Z 01O | ^ 2026-04-13T04:26:21.146185Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: 'len' is equal to 1 2026-04-13T04:26:21.146186Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-04-13T04:26:21.146186Z 01O | ^~~ 2026-04-13T04:26:21.146187Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-04-13T04:26:21.146187Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:21: note: Assuming the condition is true 2026-04-13T04:26:21.146188Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-04-13T04:26:21.146189Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.146275Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-04-13T04:26:21.146277Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-04-13T04:26:21.146277Z 01O | ^ 2026-04-13T04:26:21.146278Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:47: note: Assuming the condition is true 2026-04-13T04:26:21.146278Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-04-13T04:26:21.146279Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.146282Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:5: note: Taking true branch 2026-04-13T04:26:21.146282Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-04-13T04:26:21.146283Z 01O | ^ 2026-04-13T04:26:21.146292Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Assuming the condition is true 2026-04-13T04:26:21.146292Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-04-13T04:26:21.146293Z 01O | ^ 2026-04-13T04:26:21.146293Z 01O /builds/Rdatatable/data.table/src/assign.c:935:9: note: expanded from macro 'BODY' 2026-04-13T04:26:21.146294Z 01O 935 | if (length(where)) { \ 2026-04-13T04:26:21.146294Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.146295Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.146296Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.146296Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.146297Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-04-13T04:26:21.146303Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-04-13T04:26:21.146303Z 01O | ^ 2026-04-13T04:26:21.146304Z 01O /builds/Rdatatable/data.table/src/assign.c:935:5: note: expanded from macro 'BODY' 2026-04-13T04:26:21.146304Z 01O 935 | if (length(where)) { \ 2026-04-13T04:26:21.146305Z 01O | ^ 2026-04-13T04:26:21.146405Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: 'slen' is equal to 1 2026-04-13T04:26:21.146407Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-04-13T04:26:21.146407Z 01O | ^ 2026-04-13T04:26:21.146408Z 01O /builds/Rdatatable/data.table/src/assign.c:936:11: note: expanded from macro 'BODY' 2026-04-13T04:26:21.146408Z 01O 936 | if (slen==1) { \ 2026-04-13T04:26:21.146409Z 01O | ^~~~ 2026-04-13T04:26:21.146414Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-04-13T04:26:21.146415Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-04-13T04:26:21.146416Z 01O | ^ 2026-04-13T04:26:21.146416Z 01O /builds/Rdatatable/data.table/src/assign.c:936:7: note: expanded from macro 'BODY' 2026-04-13T04:26:21.146417Z 01O 936 | if (slen==1) { \ 2026-04-13T04:26:21.146417Z 01O | ^ 2026-04-13T04:26:21.146418Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Access of 'source' at an overflowing index, while it holds only a single 'struct SEXPREC *' element 2026-04-13T04:26:21.146419Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-04-13T04:26:21.146419Z 01O | ^ 2026-04-13T04:26:21.146421Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-04-13T04:26:21.146422Z 01O 937 | const STYPE val = sd[soff]; \ 2026-04-13T04:26:21.146423Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.146518Z 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-04-13T04:26:21.146519Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-04-13T04:26:21.146520Z 01O | ^~~~~ 2026-04-13T04:26:21.146521Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-04-13T04:26:21.146521Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-04-13T04:26:21.146522Z 01O | ^~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.146522Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-04-13T04:26:21.146523Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-04-13T04:26:21.146523Z 01O | ^ 2026-04-13T04:26:21.146524Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-04-13T04:26:21.146525Z 01O 6 | if (chin && chmatchdup) 2026-04-13T04:26:21.146525Z 01O | ^~~~ 2026-04-13T04:26:21.146526Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-04-13T04:26:21.146526Z 01O 6 | if (chin && chmatchdup) 2026-04-13T04:26:21.146527Z 01O | ^ 2026-04-13T04:26:21.146634Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-04-13T04:26:21.146635Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-04-13T04:26:21.146635Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.146636Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-04-13T04:26:21.146636Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-04-13T04:26:21.146637Z 01O | ^ 2026-04-13T04:26:21.146643Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-04-13T04:26:21.146651Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-04-13T04:26:21.146652Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.146652Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-04-13T04:26:21.146653Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-04-13T04:26:21.146653Z 01O | ^ 2026-04-13T04:26:21.146658Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-04-13T04:26:21.146659Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-04-13T04:26:21.146660Z 01O | ^ 2026-04-13T04:26:21.146660Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-04-13T04:26:21.146661Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-04-13T04:26:21.146661Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-04-13T04:26:21.146662Z 01O | ^~~~~~~ 2026-04-13T04:26:21.146662Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-04-13T04:26:21.146663Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-04-13T04:26:21.146664Z 01O | ^ 2026-04-13T04:26:21.146664Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-04-13T04:26:21.146665Z 01O 31 | if (tablelen==0) { 2026-04-13T04:26:21.146665Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.146666Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-04-13T04:26:21.146666Z 01O 31 | if (tablelen==0) { 2026-04-13T04:26:21.146667Z 01O | ^ 2026-04-13T04:26:21.146667Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-04-13T04:26:21.146668Z 01O 40 | if (isSymbol(x)) { 2026-04-13T04:26:21.146668Z 01O | ^ 2026-04-13T04:26:21.146669Z 01O /usr/local/lib/R/include/Rinternals.h:957:19: note: expanded from macro 'isSymbol' 2026-04-13T04:26:21.146669Z 01O 957 | #define isSymbol Rf_isSymbol 2026-04-13T04:26:21.146670Z 01O | ^ 2026-04-13T04:26:21.146743Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-04-13T04:26:21.146744Z 01O 40 | if (isSymbol(x)) { 2026-04-13T04:26:21.146745Z 01O | ^ 2026-04-13T04:26:21.146747Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-04-13T04:26:21.146748Z 01O 46 | if (xlen==1) { 2026-04-13T04:26:21.146748Z 01O | ^~~~~~~ 2026-04-13T04:26:21.146749Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-04-13T04:26:21.146749Z 01O 46 | if (xlen==1) { 2026-04-13T04:26:21.146750Z 01O | ^ 2026-04-13T04:26:21.146753Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-04-13T04:26:21.146754Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.146755Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.146755Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-04-13T04:26:21.146756Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-04-13T04:26:21.146756Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.146757Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.146757Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-04-13T04:26:21.146758Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.146759Z 01O | ^ 2026-04-13T04:26:21.146762Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-04-13T04:26:21.146762Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-04-13T04:26:21.146768Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.146769Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.146770Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-04-13T04:26:21.146770Z 01O | ^ 2026-04-13T04:26:21.146771Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-04-13T04:26:21.146771Z 01O 66 | if (tl == 0) { 2026-04-13T04:26:21.146772Z 01O | ^~~~~~~ 2026-04-13T04:26:21.146772Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-04-13T04:26:21.146773Z 01O 66 | if (tl == 0) { 2026-04-13T04:26:21.146773Z 01O | ^ 2026-04-13T04:26:21.146774Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-04-13T04:26:21.146774Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-04-13T04:26:21.146775Z 01O | ^ 2026-04-13T04:26:21.146852Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.146853Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-04-13T04:26:21.146854Z 01O | ^ 2026-04-13T04:26:21.146854Z 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-04-13T04:26:21.146855Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-04-13T04:26:21.146856Z 01O | ^~~~~ 2026-04-13T04:26:21.146856Z 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-04-13T04:26:21.146857Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-04-13T04:26:21.146858Z 01O | ^~~~~ 2026-04-13T04:26:21.146858Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-04-13T04:26:21.146859Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-04-13T04:26:21.146859Z 01O | ^~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.146860Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-04-13T04:26:21.146860Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-04-13T04:26:21.146861Z 01O | ^ 2026-04-13T04:26:21.146861Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-04-13T04:26:21.146862Z 01O 6 | if (chin && chmatchdup) 2026-04-13T04:26:21.146863Z 01O | ^~~~ 2026-04-13T04:26:21.146863Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-04-13T04:26:21.146864Z 01O 6 | if (chin && chmatchdup) 2026-04-13T04:26:21.146864Z 01O | ^ 2026-04-13T04:26:21.146866Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-04-13T04:26:21.146867Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-04-13T04:26:21.146868Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.146868Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-04-13T04:26:21.146869Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-04-13T04:26:21.146869Z 01O | ^ 2026-04-13T04:26:21.146942Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-04-13T04:26:21.146943Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-04-13T04:26:21.146943Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.146944Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-04-13T04:26:21.146945Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-04-13T04:26:21.146945Z 01O | ^ 2026-04-13T04:26:21.146948Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-04-13T04:26:21.146954Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-04-13T04:26:21.146955Z 01O | ^ 2026-04-13T04:26:21.146955Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-04-13T04:26:21.146956Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-04-13T04:26:21.146957Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-04-13T04:26:21.146957Z 01O | ^~~~~~~ 2026-04-13T04:26:21.147026Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-04-13T04:26:21.147027Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-04-13T04:26:21.147028Z 01O | ^ 2026-04-13T04:26:21.147028Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-04-13T04:26:21.147029Z 01O 31 | if (tablelen==0) { 2026-04-13T04:26:21.147029Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.147030Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-04-13T04:26:21.147030Z 01O 31 | if (tablelen==0) { 2026-04-13T04:26:21.147031Z 01O | ^ 2026-04-13T04:26:21.147034Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-04-13T04:26:21.147035Z 01O 40 | if (isSymbol(x)) { 2026-04-13T04:26:21.147035Z 01O | ^ 2026-04-13T04:26:21.147036Z 01O /usr/local/lib/R/include/Rinternals.h:957:19: note: expanded from macro 'isSymbol' 2026-04-13T04:26:21.147037Z 01O 957 | #define isSymbol Rf_isSymbol 2026-04-13T04:26:21.147037Z 01O | ^ 2026-04-13T04:26:21.147038Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-04-13T04:26:21.147038Z 01O 40 | if (isSymbol(x)) { 2026-04-13T04:26:21.147039Z 01O | ^ 2026-04-13T04:26:21.147039Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-04-13T04:26:21.147040Z 01O 46 | if (xlen==1) { 2026-04-13T04:26:21.147040Z 01O | ^~~~~~~ 2026-04-13T04:26:21.147041Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-04-13T04:26:21.147041Z 01O 46 | if (xlen==1) { 2026-04-13T04:26:21.147042Z 01O | ^ 2026-04-13T04:26:21.147095Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-04-13T04:26:21.147096Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.147096Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.147097Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-04-13T04:26:21.147097Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.147098Z 01O | ^ 2026-04-13T04:26:21.147101Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-04-13T04:26:21.147101Z 01O 99 | for (int i=0; i= 'tablelen' 2026-04-13T04:26:21.147199Z 01O 123 | for (int i=0; i= 'tablelen' 2026-04-13T04:26:21.147305Z 01O 125 | for (int i=0; i= 0 2026-04-13T04:26:21.147318Z 01O 129 | if (u<0) { 2026-04-13T04:26:21.147319Z 01O | ^~~ 2026-04-13T04:26:21.147319Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-04-13T04:26:21.147320Z 01O 129 | if (u<0) { 2026-04-13T04:26:21.147320Z 01O | ^ 2026-04-13T04:26:21.147397Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-04-13T04:26:21.147398Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-04-13T04:26:21.147623Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.147623Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-04-13T04:26:21.147624Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.147624Z 01O | ^ 2026-04-13T04:26:21.147627Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-04-13T04:26:21.147628Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.147629Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.147629Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-04-13T04:26:21.147630Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.147630Z 01O | ^ 2026-04-13T04:26:21.147633Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-04-13T04:26:21.147633Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-04-13T04:26:21.148062Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.148063Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-04-13T04:26:21.148063Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-04-13T04:26:21.148064Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.148064Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.148065Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-04-13T04:26:21.148065Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-04-13T04:26:21.148066Z 01O | ^ 2026-04-13T04:26:21.148069Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-04-13T04:26:21.148070Z 01O 99 | for (int i=0; i= 0 2026-04-13T04:26:21.148169Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-04-13T04:26:21.148169Z 01O | ^~~ 2026-04-13T04:26:21.148170Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-04-13T04:26:21.148171Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-04-13T04:26:21.148171Z 01O | ^ 2026-04-13T04:26:21.148172Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-04-13T04:26:21.148172Z 01O 144 | for (int i=0; i= 'nlhs' 2026-04-13T04:26:21.148250Z 01O 14 | for (int i=0; i= 'nlhs' 2026-04-13T04:26:21.148527Z 01O 14 | for (int i=0; i= 'nlhs' 2026-04-13T04:26:21.148728Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-04-13T04:26:21.150507Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.150507Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-04-13T04:26:21.150508Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-04-13T04:26:21.150509Z 01O | ^ 2026-04-13T04:26:21.150510Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.150511Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.150512Z 01O | ^ 2026-04-13T04:26:21.150576Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-04-13T04:26:21.150577Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-04-13T04:26:21.150578Z 01O | ^ 2026-04-13T04:26:21.150583Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.150584Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.150585Z 01O | ^ 2026-04-13T04:26:21.150585Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-04-13T04:26:21.150586Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-04-13T04:26:21.150586Z 01O | ^ 2026-04-13T04:26:21.150587Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.150587Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.150588Z 01O | ^ 2026-04-13T04:26:21.150591Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-04-13T04:26:21.150591Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-04-13T04:26:21.150592Z 01O | ^ 2026-04-13T04:26:21.150594Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-04-13T04:26:21.150594Z 01O 228 | for (int i=0; i= 'ncol' 2026-04-13T04:26:21.150600Z 01O 234 | for (int i=0; i= 'nidx' 2026-04-13T04:26:21.150832Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-04-13T04:26:21.150836Z 01O | ^~~~ 2026-04-13T04:26:21.150836Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-04-13T04:26:21.150837Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-04-13T04:26:21.150837Z 01O | ^ 2026-04-13T04:26:21.150840Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-04-13T04:26:21.150840Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-04-13T04:26:21.150995Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-04-13T04:26:21.152084Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-04-13T04:26:21.152491Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.152499Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-04-13T04:26:21.152500Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-04-13T04:26:21.152500Z 01O | ^ 2026-04-13T04:26:21.152501Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-04-13T04:26:21.152502Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-04-13T04:26:21.152502Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.152503Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-04-13T04:26:21.152503Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-04-13T04:26:21.152504Z 01O | ^ 2026-04-13T04:26:21.152504Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-04-13T04:26:21.152505Z 01O 326 | if (new_marks != marks) { 2026-04-13T04:26:21.152505Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.152506Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-04-13T04:26:21.152506Z 01O 326 | if (new_marks != marks) { 2026-04-13T04:26:21.152507Z 01O | ^ 2026-04-13T04:26:21.152507Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-04-13T04:26:21.152508Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-04-13T04:26:21.152509Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.152509Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-04-13T04:26:21.152510Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-04-13T04:26:21.152510Z 01O | ^ 2026-04-13T04:26:21.152511Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-04-13T04:26:21.152511Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-04-13T04:26:21.152512Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.152513Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-04-13T04:26:21.152513Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-04-13T04:26:21.152514Z 01O | ^ 2026-04-13T04:26:21.152516Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-04-13T04:26:21.152517Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-04-13T04:26:21.152518Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.152627Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-04-13T04:26:21.152634Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-04-13T04:26:21.152635Z 01O | ^ 2026-04-13T04:26:21.152635Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-04-13T04:26:21.152636Z 01O 338 | if (!anynotascii) 2026-04-13T04:26:21.152637Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.152637Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-04-13T04:26:21.152638Z 01O 338 | if (!anynotascii) 2026-04-13T04:26:21.152639Z 01O | ^ 2026-04-13T04:26:21.152643Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-04-13T04:26:21.152644Z 01O 340 | if (!IS_UTF8(s)) 2026-04-13T04:26:21.152645Z 01O | ^ 2026-04-13T04:26:21.152645Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-04-13T04:26:21.152646Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-04-13T04:26:21.152646Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.152650Z 01O /usr/local/lib/R/include/Rinternals.h:929:20: note: expanded from macro 'getCharCE' 2026-04-13T04:26:21.152651Z 01O 929 | #define getCharCE Rf_getCharCE 2026-04-13T04:26:21.152652Z 01O | ^ 2026-04-13T04:26:21.152652Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-04-13T04:26:21.152653Z 01O 340 | if (!IS_UTF8(s)) 2026-04-13T04:26:21.152653Z 01O | ^ 2026-04-13T04:26:21.152654Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-04-13T04:26:21.152654Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-04-13T04:26:21.152741Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-04-13T04:26:21.152755Z 01O 364 | for (int i=0; i> 2026-04-13T04:26:21.153132Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153132Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-04-13T04:26:21.153133Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153133Z 01O 43 | 2026-04-13T04:26:21.153134Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-04-13T04:26:21.153134Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153135Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-04-13T04:26:21.153136Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153136Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-04-13T04:26:21.153137Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153137Z 01O 47 | 2026-04-13T04:26:21.153138Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-04-13T04:26:21.153138Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153139Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-04-13T04:26:21.153140Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153149Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-04-13T04:26:21.153150Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153150Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-04-13T04:26:21.153151Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153152Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-04-13T04:26:21.153152Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153153Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-04-13T04:26:21.153154Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153154Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Calling 'freadCleanup' 2026-04-13T04:26:21.153155Z 01O 1406 | if (freadCleanup()) { 2026-04-13T04:26:21.153155Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.153231Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-04-13T04:26:21.153232Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-04-13T04:26:21.153233Z 01O | ^~~~ 2026-04-13T04:26:21.153233Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-04-13T04:26:21.153234Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-04-13T04:26:21.153234Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-04-13T04:26:21.153235Z 01O | ^~~~~~~ 2026-04-13T04:26:21.153238Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-04-13T04:26:21.153238Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-04-13T04:26:21.153239Z 01O | ^ 2026-04-13T04:26:21.153240Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-04-13T04:26:21.153240Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-04-13T04:26:21.153241Z 01O | ^~~~ 2026-04-13T04:26:21.153246Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-04-13T04:26:21.153246Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-04-13T04:26:21.153247Z 01O | ^ 2026-04-13T04:26:21.153248Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-04-13T04:26:21.153248Z 01O 169 | if (mmp != NULL) { 2026-04-13T04:26:21.153249Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.153249Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-04-13T04:26:21.153250Z 01O 169 | if (mmp != NULL) { 2026-04-13T04:26:21.153250Z 01O | ^ 2026-04-13T04:26:21.153251Z 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-04-13T04:26:21.153251Z 01O 193 | quoteRule = -1; 2026-04-13T04:26:21.153252Z 01O | ^~ 2026-04-13T04:26:21.153252Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2026-04-13T04:26:21.153253Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-04-13T04:26:21.153254Z 01O | ^ ~~ 2026-04-13T04:26:21.153257Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-04-13T04:26:21.153264Z 01O 1406 | if (freadCleanup()) { 2026-04-13T04:26:21.153264Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.153265Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-04-13T04:26:21.153265Z 01O 1406 | if (freadCleanup()) { 2026-04-13T04:26:21.153266Z 01O | ^ 2026-04-13T04:26:21.153266Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.153267Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-04-13T04:26:21.153267Z 01O | ^~~~~~~ 2026-04-13T04:26:21.153332Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-04-13T04:26:21.153333Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-04-13T04:26:21.153334Z 01O | ^ 2026-04-13T04:26:21.153334Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-04-13T04:26:21.153335Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-04-13T04:26:21.153335Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.153338Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-04-13T04:26:21.153339Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-04-13T04:26:21.153339Z 01O | ^ 2026-04-13T04:26:21.153340Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-04-13T04:26:21.153340Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-04-13T04:26:21.153341Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.153341Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-04-13T04:26:21.153342Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-04-13T04:26:21.153342Z 01O | ^ 2026-04-13T04:26:21.153343Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-04-13T04:26:21.153343Z 01O 1416 | if (nth <= 0) nth = 1; 2026-04-13T04:26:21.153344Z 01O | ^~~ 2026-04-13T04:26:21.153346Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-04-13T04:26:21.153346Z 01O 1416 | if (nth <= 0) nth = 1; 2026-04-13T04:26:21.153347Z 01O | ^ 2026-04-13T04:26:21.153351Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-04-13T04:26:21.153351Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-04-13T04:26:21.153352Z 01O | ^~~~~~~ 2026-04-13T04:26:21.153352Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-04-13T04:26:21.153353Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-04-13T04:26:21.153354Z 01O | ^ 2026-04-13T04:26:21.153428Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-04-13T04:26:21.153429Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-04-13T04:26:21.153430Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153436Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-04-13T04:26:21.153437Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-04-13T04:26:21.153437Z 01O | ^ 2026-04-13T04:26:21.153438Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-04-13T04:26:21.153438Z 01O 1432 | while (*nastr) { 2026-04-13T04:26:21.153439Z 01O | ^ 2026-04-13T04:26:21.153439Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-04-13T04:26:21.153440Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-04-13T04:26:21.153441Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153441Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-04-13T04:26:21.153448Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-04-13T04:26:21.153449Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153449Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-04-13T04:26:21.153450Z 01O 1460 | if (verbose) { 2026-04-13T04:26:21.153450Z 01O | ^~~~~~~ 2026-04-13T04:26:21.153451Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-04-13T04:26:21.153451Z 01O 1460 | if (verbose) { 2026-04-13T04:26:21.153452Z 01O | ^ 2026-04-13T04:26:21.153452Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-04-13T04:26:21.153453Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-04-13T04:26:21.153453Z 01O | ^ 2026-04-13T04:26:21.153519Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-04-13T04:26:21.153520Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-04-13T04:26:21.153521Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153521Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-04-13T04:26:21.153522Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-04-13T04:26:21.153522Z 01O | ^ 2026-04-13T04:26:21.153526Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-04-13T04:26:21.153526Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-04-13T04:26:21.153527Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153527Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-04-13T04:26:21.153528Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-04-13T04:26:21.153529Z 01O | ^ 2026-04-13T04:26:21.153531Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-04-13T04:26:21.153532Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-04-13T04:26:21.153532Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.153594Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-04-13T04:26:21.153595Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-04-13T04:26:21.153596Z 01O | ^ 2026-04-13T04:26:21.153601Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-04-13T04:26:21.153602Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-04-13T04:26:21.153603Z 01O | ^~~~~~~ 2026-04-13T04:26:21.153603Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-04-13T04:26:21.153604Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-04-13T04:26:21.153604Z 01O | ^ 2026-04-13T04:26:21.153605Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-04-13T04:26:21.153605Z 01O 1511 | if (args.input) { 2026-04-13T04:26:21.153606Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.153606Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-04-13T04:26:21.153607Z 01O 1511 | if (args.input) { 2026-04-13T04:26:21.153607Z 01O | ^ 2026-04-13T04:26:21.153608Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is non-null 2026-04-13T04:26:21.153608Z 01O 1518 | else if (args.filename) { 2026-04-13T04:26:21.153609Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.153615Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking true branch 2026-04-13T04:26:21.153615Z 01O 1518 | else if (args.filename) { 2026-04-13T04:26:21.153616Z 01O | ^ 2026-04-13T04:26:21.153616Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:9: note: 'verbose' is false 2026-04-13T04:26:21.153617Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-04-13T04:26:21.153617Z 01O | ^~~~~~~ 2026-04-13T04:26:21.153686Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:5: note: Taking false branch 2026-04-13T04:26:21.153687Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-04-13T04:26:21.153687Z 01O | ^ 2026-04-13T04:26:21.153690Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:16: note: Assuming that 'open' fails 2026-04-13T04:26:21.153691Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-04-13T04:26:21.153692Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153692Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:7: note: 'fd' initialized here 2026-04-13T04:26:21.153693Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-04-13T04:26:21.153693Z 01O | ^~~~~~ 2026-04-13T04:26:21.153694Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:7: note: Taking true branch 2026-04-13T04:26:21.153694Z 01O 1523 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-04-13T04:26:21.153695Z 01O | ^ 2026-04-13T04:26:21.153698Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-04-13T04:26:21.153699Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-04-13T04:26:21.153699Z 01O | ^ ~~ 2026-04-13T04:26:21.153700Z 01O /builds/Rdatatable/data.table/src/fread.c:1776:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.153701Z 01O 1776 | pos = ch; 2026-04-13T04:26:21.153701Z 01O | ^ ~~ 2026-04-13T04:26:21.153702Z 01O /builds/Rdatatable/data.table/src/fread.c:1776:5: note: Value stored to 'pos' is never read 2026-04-13T04:26:21.153702Z 01O 1776 | pos = ch; 2026-04-13T04:26:21.153703Z 01O | ^ ~~ 2026-04-13T04:26:21.153821Z 01O /builds/Rdatatable/data.table/src/fread.c:1844: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-04-13T04:26:21.153823Z 01O 1844 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-04-13T04:26:21.153823Z 01O | ^~ 2026-04-13T04:26:21.153832Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-04-13T04:26:21.153833Z 01O 38 | enum quote_rule_t 2026-04-13T04:26:21.153833Z 01O | ~~~~~^~~~~~~~~~~~ 2026-04-13T04:26:21.153834Z 01O 39 | { 2026-04-13T04:26:21.153834Z 01O | ~ 2026-04-13T04:26:21.153834Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-04-13T04:26:21.153835Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153836Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-04-13T04:26:21.153836Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153837Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-04-13T04:26:21.153837Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153838Z 01O 43 | 2026-04-13T04:26:21.153838Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-04-13T04:26:21.153839Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153840Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-04-13T04:26:21.153840Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153846Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-04-13T04:26:21.153847Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153847Z 01O 47 | 2026-04-13T04:26:21.153848Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-04-13T04:26:21.153849Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153849Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-04-13T04:26:21.153850Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153850Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-04-13T04:26:21.153851Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153852Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-04-13T04:26:21.153852Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153853Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-04-13T04:26:21.153854Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153854Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-04-13T04:26:21.153855Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.153972Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-04-13T04:26:21.153973Z 01O 1406 | if (freadCleanup()) { 2026-04-13T04:26:21.153973Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.153974Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-04-13T04:26:21.153974Z 01O 1406 | if (freadCleanup()) { 2026-04-13T04:26:21.153975Z 01O | ^ 2026-04-13T04:26:21.153975Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.153976Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-04-13T04:26:21.153976Z 01O | ^~~~~~~ 2026-04-13T04:26:21.153977Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-04-13T04:26:21.153977Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-04-13T04:26:21.153978Z 01O | ^ 2026-04-13T04:26:21.153980Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-04-13T04:26:21.153981Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-04-13T04:26:21.153981Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.153992Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-04-13T04:26:21.153993Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-04-13T04:26:21.153994Z 01O | ^ 2026-04-13T04:26:21.153994Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-04-13T04:26:21.153995Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-04-13T04:26:21.153995Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.153996Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-04-13T04:26:21.153996Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-04-13T04:26:21.153997Z 01O | ^ 2026-04-13T04:26:21.153997Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-04-13T04:26:21.153998Z 01O 1416 | if (nth <= 0) nth = 1; 2026-04-13T04:26:21.153998Z 01O | ^~~ 2026-04-13T04:26:21.153999Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-04-13T04:26:21.153999Z 01O 1416 | if (nth <= 0) nth = 1; 2026-04-13T04:26:21.154000Z 01O | ^ 2026-04-13T04:26:21.154106Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-04-13T04:26:21.154107Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-04-13T04:26:21.154118Z 01O | ^~~~~~~ 2026-04-13T04:26:21.154121Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-04-13T04:26:21.154122Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-04-13T04:26:21.154123Z 01O | ^ 2026-04-13T04:26:21.154128Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-04-13T04:26:21.154129Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-04-13T04:26:21.154130Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.154130Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-04-13T04:26:21.154131Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-04-13T04:26:21.154132Z 01O | ^ 2026-04-13T04:26:21.154132Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-04-13T04:26:21.154133Z 01O 1432 | while (*nastr) { 2026-04-13T04:26:21.154133Z 01O | ^ 2026-04-13T04:26:21.154134Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-04-13T04:26:21.154134Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-04-13T04:26:21.154135Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.154135Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-04-13T04:26:21.154136Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-04-13T04:26:21.154137Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.154139Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-04-13T04:26:21.154140Z 01O 1460 | if (verbose) { 2026-04-13T04:26:21.154140Z 01O | ^~~~~~~ 2026-04-13T04:26:21.154140Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-04-13T04:26:21.154141Z 01O 1460 | if (verbose) { 2026-04-13T04:26:21.154142Z 01O | ^ 2026-04-13T04:26:21.154217Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-04-13T04:26:21.154218Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-04-13T04:26:21.154219Z 01O | ^ 2026-04-13T04:26:21.154223Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-04-13T04:26:21.154223Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-04-13T04:26:21.154224Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.154225Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-04-13T04:26:21.154225Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-04-13T04:26:21.154226Z 01O | ^ 2026-04-13T04:26:21.154229Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-04-13T04:26:21.154230Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-04-13T04:26:21.154231Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.154231Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-04-13T04:26:21.154232Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-04-13T04:26:21.154232Z 01O | ^ 2026-04-13T04:26:21.154233Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-04-13T04:26:21.154241Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-04-13T04:26:21.154242Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.154351Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-04-13T04:26:21.154352Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-04-13T04:26:21.154353Z 01O | ^ 2026-04-13T04:26:21.154353Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-04-13T04:26:21.154354Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-04-13T04:26:21.154355Z 01O | ^~~~~~~ 2026-04-13T04:26:21.154359Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-04-13T04:26:21.154360Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-04-13T04:26:21.154360Z 01O | ^ 2026-04-13T04:26:21.154361Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-04-13T04:26:21.154361Z 01O 1511 | if (args.input) { 2026-04-13T04:26:21.154362Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.154362Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-04-13T04:26:21.154363Z 01O 1511 | if (args.input) { 2026-04-13T04:26:21.154363Z 01O | ^ 2026-04-13T04:26:21.154364Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is null 2026-04-13T04:26:21.154364Z 01O 1518 | else if (args.filename) { 2026-04-13T04:26:21.154365Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.154365Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking false branch 2026-04-13T04:26:21.154366Z 01O 1518 | else if (args.filename) { 2026-04-13T04:26:21.154366Z 01O | ^ 2026-04-13T04:26:21.154369Z 01O /builds/Rdatatable/data.table/src/fread.c:1593:5: note: Loop condition is false. Exiting loop 2026-04-13T04:26:21.154370Z 01O 1593 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-04-13T04:26:21.154370Z 01O | ^ 2026-04-13T04:26:21.154462Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-04-13T04:26:21.154463Z 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-04-13T04:26:21.154464Z 01O | ^ 2026-04-13T04:26:21.154465Z 01O /builds/Rdatatable/data.table/src/fread.c:1610:7: note: 'verbose' is false 2026-04-13T04:26:21.154465Z 01O 1610 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-04-13T04:26:21.154466Z 01O | ^~~~~~~ 2026-04-13T04:26:21.154467Z 01O /builds/Rdatatable/data.table/src/fread.c:1610:3: note: Taking false branch 2026-04-13T04:26:21.154467Z 01O 1610 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-04-13T04:26:21.154468Z 01O | ^ 2026-04-13T04:26:21.154468Z 01O /builds/Rdatatable/data.table/src/fread.c:1611:7: note: Assuming 'fileSize' is < 3 2026-04-13T04:26:21.154469Z 01O 1611 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-04-13T04:26:21.154469Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.154470Z 01O /builds/Rdatatable/data.table/src/fread.c:1611:21: note: Left side of '&&' is false 2026-04-13T04:26:21.154470Z 01O 1611 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-04-13T04:26:21.154471Z 01O | ^ 2026-04-13T04:26:21.154474Z 01O /builds/Rdatatable/data.table/src/fread.c:1616:12: note: 'fileSize' is < 4 2026-04-13T04:26:21.154475Z 01O 1616 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-04-13T04:26:21.154476Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.154476Z 01O /builds/Rdatatable/data.table/src/fread.c:1616:26: note: Left side of '&&' is false 2026-04-13T04:26:21.154483Z 01O 1616 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-04-13T04:26:21.154484Z 01O | ^ 2026-04-13T04:26:21.154484Z 01O /builds/Rdatatable/data.table/src/fread.c:1621:12: note: Assuming 'fileSize' is < 2 2026-04-13T04:26:21.154485Z 01O 1621 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-04-13T04:26:21.154485Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.154576Z 01O /builds/Rdatatable/data.table/src/fread.c:1621:26: note: Left side of '&&' is false 2026-04-13T04:26:21.154577Z 01O 1621 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-04-13T04:26:21.154578Z 01O | ^ 2026-04-13T04:26:21.154578Z 01O /builds/Rdatatable/data.table/src/fread.c:1624:7: note: Assuming 'eof' is <= 'sof' 2026-04-13T04:26:21.154579Z 01O 1624 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-04-13T04:26:21.154579Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.154583Z 01O /builds/Rdatatable/data.table/src/fread.c:1624:17: note: Left side of '&&' is false 2026-04-13T04:26:21.154583Z 01O 1624 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-04-13T04:26:21.154584Z 01O | ^ 2026-04-13T04:26:21.154584Z 01O /builds/Rdatatable/data.table/src/fread.c:1630:7: note: Assuming 'eof' is > 'sof' 2026-04-13T04:26:21.154585Z 01O 1630 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-04-13T04:26:21.154586Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.154586Z 01O /builds/Rdatatable/data.table/src/fread.c:1630:3: note: Taking false branch 2026-04-13T04:26:21.154587Z 01O 1630 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-04-13T04:26:21.154587Z 01O | ^ 2026-04-13T04:26:21.154589Z 01O /builds/Rdatatable/data.table/src/fread.c:1636:7: note: 'verbose' is false 2026-04-13T04:26:21.154590Z 01O 1636 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-04-13T04:26:21.154591Z 01O | ^~~~~~~ 2026-04-13T04:26:21.154668Z 01O /builds/Rdatatable/data.table/src/fread.c:1636:3: note: Taking false branch 2026-04-13T04:26:21.154669Z 01O 1636 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-04-13T04:26:21.154670Z 01O | ^ 2026-04-13T04:26:21.154670Z 01O /builds/Rdatatable/data.table/src/fread.c:1644:7: note: Assuming the condition is false 2026-04-13T04:26:21.154671Z 01O 1644 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-04-13T04:26:21.154672Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.154678Z 01O /builds/Rdatatable/data.table/src/fread.c:1644:3: note: Taking false branch 2026-04-13T04:26:21.154679Z 01O 1644 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-04-13T04:26:21.154679Z 01O | ^ 2026-04-13T04:26:21.154680Z 01O /builds/Rdatatable/data.table/src/fread.c:1645:3: note: Loop condition is false. Execution continues on line 1663 2026-04-13T04:26:21.154680Z 01O 1645 | while (ch < sample_end) { 2026-04-13T04:26:21.154681Z 01O | ^ 2026-04-13T04:26:21.154681Z 01O /builds/Rdatatable/data.table/src/fread.c:1664:7: note: 'verbose' is false 2026-04-13T04:26:21.154682Z 01O 1664 | if (verbose) DTPRINT(eol_one_r ? 2026-04-13T04:26:21.154682Z 01O | ^~~~~~~ 2026-04-13T04:26:21.154683Z 01O /builds/Rdatatable/data.table/src/fread.c:1664:3: note: Taking false branch 2026-04-13T04:26:21.154683Z 01O 1664 | if (verbose) DTPRINT(eol_one_r ? 2026-04-13T04:26:21.154684Z 01O | ^ 2026-04-13T04:26:21.154684Z 01O /builds/Rdatatable/data.table/src/fread.c:1670:7: note: Assuming field 'filename' is null 2026-04-13T04:26:21.154685Z 01O 1670 | if (args.filename) { 2026-04-13T04:26:21.154691Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.154694Z 01O /builds/Rdatatable/data.table/src/fread.c:1670:3: note: Taking false branch 2026-04-13T04:26:21.154694Z 01O 1670 | if (args.filename) { 2026-04-13T04:26:21.154695Z 01O | ^ 2026-04-13T04:26:21.154768Z 01O /builds/Rdatatable/data.table/src/fread.c:1744:7: note: 'verbose' is false 2026-04-13T04:26:21.154769Z 01O 1744 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-04-13T04:26:21.154769Z 01O | ^~~~~~~ 2026-04-13T04:26:21.154770Z 01O /builds/Rdatatable/data.table/src/fread.c:1744:3: note: Taking false branch 2026-04-13T04:26:21.154770Z 01O 1744 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-04-13T04:26:21.154771Z 01O | ^ 2026-04-13T04:26:21.154771Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: Assuming field 'skipString' is null 2026-04-13T04:26:21.154772Z 01O 1748 | if (args.skipString) { 2026-04-13T04:26:21.154772Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.154776Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-04-13T04:26:21.154777Z 01O 1748 | if (args.skipString) { 2026-04-13T04:26:21.154777Z 01O | ^ 2026-04-13T04:26:21.154778Z 01O /builds/Rdatatable/data.table/src/fread.c:1760:12: note: Assuming field 'skipNrow' is < 0 2026-04-13T04:26:21.154778Z 01O 1760 | else if (args.skipNrow >= 0) { 2026-04-13T04:26:21.154779Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.154779Z 01O /builds/Rdatatable/data.table/src/fread.c:1760:8: note: Taking false branch 2026-04-13T04:26:21.154780Z 01O 1760 | else if (args.skipNrow >= 0) { 2026-04-13T04:26:21.154781Z 01O | ^ 2026-04-13T04:26:21.154783Z 01O /builds/Rdatatable/data.table/src/fread.c:1781:10: note: Assuming 'ch' is >= 'eof' 2026-04-13T04:26:21.154783Z 01O 1781 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-04-13T04:26:21.154784Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.154862Z 01O /builds/Rdatatable/data.table/src/fread.c:1781:19: note: Left side of '&&' is false 2026-04-13T04:26:21.154863Z 01O 1781 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-04-13T04:26:21.154864Z 01O | ^ 2026-04-13T04:26:21.154864Z 01O /builds/Rdatatable/data.table/src/fread.c:1784:7: note: Assuming 'ch' is < 'eof' 2026-04-13T04:26:21.154865Z 01O 1784 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-04-13T04:26:21.154866Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.154869Z 01O /builds/Rdatatable/data.table/src/fread.c:1784:3: note: Taking false branch 2026-04-13T04:26:21.154869Z 01O 1784 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-04-13T04:26:21.154870Z 01O | ^ 2026-04-13T04:26:21.154870Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:7: note: 'verbose' is false 2026-04-13T04:26:21.154871Z 01O 1785 | if (verbose) { 2026-04-13T04:26:21.154872Z 01O | ^~~~~~~ 2026-04-13T04:26:21.154872Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:3: note: Taking false branch 2026-04-13T04:26:21.154873Z 01O 1785 | if (verbose) { 2026-04-13T04:26:21.154873Z 01O | ^ 2026-04-13T04:26:21.154996Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:19: note: Assuming 'nrowLimit' is not equal to 0 2026-04-13T04:26:21.154997Z 01O 1803 | 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-04-13T04:26:21.154998Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.154998Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:19: note: '?' condition is false 2026-04-13T04:26:21.155011Z 01O /builds/Rdatatable/data.table/src/fread.c:1804:7: note: Assuming 'fill' is not equal to INT_MAX 2026-04-13T04:26:21.155011Z 01O 1804 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-04-13T04:26:21.155012Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155013Z 01O /builds/Rdatatable/data.table/src/fread.c:1804:3: note: Taking false branch 2026-04-13T04:26:21.155013Z 01O 1804 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-04-13T04:26:21.155014Z 01O | ^ 2026-04-13T04:26:21.155017Z 01O /builds/Rdatatable/data.table/src/fread.c:1810:9: note: 'verbose' is false 2026-04-13T04:26:21.155017Z 01O 1810 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-04-13T04:26:21.155018Z 01O | ^~~~~~~ 2026-04-13T04:26:21.155018Z 01O /builds/Rdatatable/data.table/src/fread.c:1810:5: note: Taking false branch 2026-04-13T04:26:21.155019Z 01O 1810 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-04-13T04:26:21.155020Z 01O | ^ 2026-04-13T04:26:21.155084Z 01O /builds/Rdatatable/data.table/src/fread.c:1812:9: note: Assuming the condition is false 2026-04-13T04:26:21.155085Z 01O 1812 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-04-13T04:26:21.155086Z 01O | ^~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155091Z 01O /builds/Rdatatable/data.table/src/fread.c:1812:5: note: Taking false branch 2026-04-13T04:26:21.155091Z 01O 1812 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-04-13T04:26:21.155092Z 01O | ^ 2026-04-13T04:26:21.155092Z 01O /builds/Rdatatable/data.table/src/fread.c:1830:20: note: Assuming the condition is false 2026-04-13T04:26:21.155093Z 01O 1830 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-04-13T04:26:21.155094Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.155094Z 01O /builds/Rdatatable/data.table/src/fread.c:1830:20: note: '?' condition is false 2026-04-13T04:26:21.155095Z 01O /builds/Rdatatable/data.table/src/fread.c:1832:11: note: Assuming the condition is true 2026-04-13T04:26:21.155096Z 01O 1832 | if (args.sep == '\0') { 2026-04-13T04:26:21.155096Z 01O | ^~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155097Z 01O /builds/Rdatatable/data.table/src/fread.c:1832:7: note: Taking true branch 2026-04-13T04:26:21.155097Z 01O 1832 | if (args.sep == '\0') { 2026-04-13T04:26:21.155098Z 01O | ^ 2026-04-13T04:26:21.155101Z 01O /builds/Rdatatable/data.table/src/fread.c:1833:13: note: 'verbose' is false 2026-04-13T04:26:21.155102Z 01O 1833 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-04-13T04:26:21.155102Z 01O | ^~~~~~~ 2026-04-13T04:26:21.155103Z 01O /builds/Rdatatable/data.table/src/fread.c:1833:9: note: Taking false branch 2026-04-13T04:26:21.155103Z 01O 1833 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-04-13T04:26:21.155104Z 01O | ^ 2026-04-13T04:26:21.155104Z 01O /builds/Rdatatable/data.table/src/fread.c:1844:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-04-13T04:26:21.155105Z 01O 1844 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-04-13T04:26:21.155106Z 01O | ^~ 2026-04-13T04:26:21.155191Z 01O /builds/Rdatatable/data.table/src/fread.c:1881:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.155193Z 01O 1881 | const char *prevLineStart = ch, *lineStart = ch; 2026-04-13T04:26:21.155193Z 01O | ^~~~~~~~~~~~~ ~~ 2026-04-13T04:26:21.155194Z 01O /builds/Rdatatable/data.table/src/fread.c:1881:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-04-13T04:26:21.155200Z 01O 1881 | const char *prevLineStart = ch, *lineStart = ch; 2026-04-13T04:26:21.155200Z 01O | ^~~~~~~~~~~~~ ~~ 2026-04-13T04:26:21.155203Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.155204Z 01O 2269 | estnrow = 1; 2026-04-13T04:26:21.155204Z 01O | ^ ~ 2026-04-13T04:26:21.155205Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:3: note: Value stored to 'estnrow' is never read 2026-04-13T04:26:21.155206Z 01O 2269 | estnrow = 1; 2026-04-13T04:26:21.155206Z 01O | ^ ~ 2026-04-13T04:26:21.155208Z 01O /builds/Rdatatable/data.table/src/fread.c:2270:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.155209Z 01O 2270 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-04-13T04:26:21.155210Z 01O | ^ ~ 2026-04-13T04:26:21.155210Z 01O /builds/Rdatatable/data.table/src/fread.c:2270:3: note: Value stored to 'allocnrow' is never read 2026-04-13T04:26:21.155211Z 01O 2270 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-04-13T04:26:21.155212Z 01O | ^ ~ 2026-04-13T04:26:21.155272Z 01O /builds/Rdatatable/data.table/src/fread.c:2276:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.155273Z 01O 2276 | estnrow = allocnrow = sampleLines; 2026-04-13T04:26:21.155274Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155274Z 01O /builds/Rdatatable/data.table/src/fread.c:2276:5: note: Value stored to 'estnrow' is never read 2026-04-13T04:26:21.155275Z 01O 2276 | estnrow = allocnrow = sampleLines; 2026-04-13T04:26:21.155275Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155278Z 01O /builds/Rdatatable/data.table/src/fread.c:2300:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.155279Z 01O 2300 | estnrow = allocnrow = nrowLimit; 2026-04-13T04:26:21.155279Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155280Z 01O /builds/Rdatatable/data.table/src/fread.c:2300:5: note: Value stored to 'estnrow' is never read 2026-04-13T04:26:21.155281Z 01O 2300 | estnrow = allocnrow = nrowLimit; 2026-04-13T04:26:21.155281Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155372Z 01O /builds/Rdatatable/data.table/src/fread.c:2478:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.155374Z 01O 2478 | nth = imin(nJumps, nth); 2026-04-13T04:26:21.155374Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155376Z 01O /builds/Rdatatable/data.table/src/fread.c:2478:3: note: Value stored to 'nth' is never read 2026-04-13T04:26:21.155377Z 01O 2478 | nth = imin(nJumps, nth); 2026-04-13T04:26:21.155378Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155381Z 01O /builds/Rdatatable/data.table/src/fread.c:2734: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-04-13T04:26:21.155383Z 01O 2734 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-04-13T04:26:21.155383Z 01O | ^~~~~~ 2026-04-13T04:26:21.155397Z 01O /builds/Rdatatable/data.table/src/fread.c:2734: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-04-13T04:26:21.155398Z 01O 2734 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-04-13T04:26:21.155405Z 01O | ^~~~~~ 2026-04-13T04:26:21.155498Z 01O /builds/Rdatatable/data.table/src/fread.c:2768:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.155500Z 01O 2768 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-04-13T04:26:21.155500Z 01O | ^ ~~~ 2026-04-13T04:26:21.155503Z 01O /builds/Rdatatable/data.table/src/fread.c:2768:73: note: Value stored to 'tLast' is never read 2026-04-13T04:26:21.155503Z 01O 2768 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-04-13T04:26:21.155504Z 01O | ^ ~~~ 2026-04-13T04:26:21.155617Z 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-04-13T04:26:21.155618Z 01O 789 | if (state->buffer[i] == '\n') { 2026-04-13T04:26:21.155619Z 01O | ^ ~~~~~~ 2026-04-13T04:26:21.155619Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-04-13T04:26:21.155620Z 01O 768 | if (state->outfile == NULL) { 2026-04-13T04:26:21.155620Z 01O | ^ 2026-04-13T04:26:21.155621Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-04-13T04:26:21.155622Z 01O 768 | if (state->outfile == NULL) { 2026-04-13T04:26:21.155622Z 01O | ^ 2026-04-13T04:26:21.155627Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-04-13T04:26:21.155627Z 01O 772 | state->buffer = malloc(chunk_size); 2026-04-13T04:26:21.155628Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155628Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-04-13T04:26:21.155629Z 01O 773 | if (!state->buffer) { 2026-04-13T04:26:21.155630Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.155630Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-04-13T04:26:21.155631Z 01O 773 | if (!state->buffer) { 2026-04-13T04:26:21.155631Z 01O | ^ 2026-04-13T04:26:21.155632Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-04-13T04:26:21.155632Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-04-13T04:26:21.155633Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155633Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.155634Z 01O 780 | while (true) { 2026-04-13T04:26:21.155634Z 01O | ^ 2026-04-13T04:26:21.155635Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-04-13T04:26:21.155635Z 01O 782 | if (nread == 0) { 2026-04-13T04:26:21.155636Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.155636Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-04-13T04:26:21.155637Z 01O 782 | if (nread == 0) { 2026-04-13T04:26:21.155638Z 01O | ^ 2026-04-13T04:26:21.155702Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-04-13T04:26:21.155703Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-04-13T04:26:21.155704Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.155704Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-04-13T04:26:21.155708Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-04-13T04:26:21.155709Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-04-13T04:26:21.155710Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.155710Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-04-13T04:26:21.155716Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-04-13T04:26:21.155717Z 01O | ^ 2026-04-13T04:26:21.155718Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-04-13T04:26:21.155718Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-04-13T04:26:21.155719Z 01O | ^ 2026-04-13T04:26:21.155719Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.155720Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-04-13T04:26:21.155720Z 01O | ^ 2026-04-13T04:26:21.155721Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-04-13T04:26:21.155722Z 01O 789 | if (state->buffer[i] == '\n') { 2026-04-13T04:26:21.155722Z 01O | ^ ~~~~~~ 2026-04-13T04:26:21.155786Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-04-13T04:26:21.155788Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-04-13T04:26:21.155789Z 01O | ^ ~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155790Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-04-13T04:26:21.155790Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-04-13T04:26:21.155791Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155791Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-04-13T04:26:21.155792Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-04-13T04:26:21.155793Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155795Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-04-13T04:26:21.155796Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-04-13T04:26:21.155796Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155798Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-04-13T04:26:21.155799Z 01O 768 | if (state->outfile == NULL) { 2026-04-13T04:26:21.155799Z 01O | ^ 2026-04-13T04:26:21.155801Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-04-13T04:26:21.155802Z 01O 768 | if (state->outfile == NULL) { 2026-04-13T04:26:21.155802Z 01O | ^ 2026-04-13T04:26:21.155866Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-04-13T04:26:21.155867Z 01O 773 | if (!state->buffer) { 2026-04-13T04:26:21.155868Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.155868Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-04-13T04:26:21.155869Z 01O 773 | if (!state->buffer) { 2026-04-13T04:26:21.155869Z 01O | ^ 2026-04-13T04:26:21.155875Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-04-13T04:26:21.155875Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-04-13T04:26:21.155876Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.155876Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.155877Z 01O 780 | while (true) { 2026-04-13T04:26:21.155877Z 01O | ^ 2026-04-13T04:26:21.155878Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-04-13T04:26:21.155879Z 01O 782 | if (nread == 0) { 2026-04-13T04:26:21.155879Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.155886Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-04-13T04:26:21.155886Z 01O 782 | if (nread == 0) { 2026-04-13T04:26:21.155887Z 01O | ^ 2026-04-13T04:26:21.155887Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-04-13T04:26:21.155888Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-04-13T04:26:21.155888Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.155889Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-04-13T04:26:21.155889Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-04-13T04:26:21.155890Z 01O | ^ 2026-04-13T04:26:21.155982Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-04-13T04:26:21.155991Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-04-13T04:26:21.155992Z 01O | ^ ~~~~~~~~~~~~~~ 2026-04-13T04:26:21.156001Z 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-04-13T04:26:21.156002Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-04-13T04:26:21.156002Z 01O | ^ ~~~~~~~~~~~~~ 2026-04-13T04:26:21.156003Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-04-13T04:26:21.156004Z 01O 768 | if (state->outfile == NULL) { 2026-04-13T04:26:21.156004Z 01O | ^ 2026-04-13T04:26:21.156005Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-04-13T04:26:21.156005Z 01O 768 | if (state->outfile == NULL) { 2026-04-13T04:26:21.156006Z 01O | ^ 2026-04-13T04:26:21.156006Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-04-13T04:26:21.156007Z 01O 772 | state->buffer = malloc(chunk_size); 2026-04-13T04:26:21.156007Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.156104Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-04-13T04:26:21.156105Z 01O 773 | if (!state->buffer) { 2026-04-13T04:26:21.156106Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.156106Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-04-13T04:26:21.156107Z 01O 773 | if (!state->buffer) { 2026-04-13T04:26:21.156107Z 01O | ^ 2026-04-13T04:26:21.156110Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-04-13T04:26:21.156111Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-04-13T04:26:21.156111Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.156112Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.156112Z 01O 780 | while (true) { 2026-04-13T04:26:21.156113Z 01O | ^ 2026-04-13T04:26:21.156117Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-04-13T04:26:21.156117Z 01O 782 | if (nread == 0) { 2026-04-13T04:26:21.156118Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.156118Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-04-13T04:26:21.156119Z 01O 782 | if (nread == 0) { 2026-04-13T04:26:21.156119Z 01O | ^ 2026-04-13T04:26:21.156120Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-04-13T04:26:21.156121Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-04-13T04:26:21.156121Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.156122Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-04-13T04:26:21.156131Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-04-13T04:26:21.156131Z 01O | ^ 2026-04-13T04:26:21.156134Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-04-13T04:26:21.156134Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-04-13T04:26:21.156135Z 01O | ^ ~~~~~~~~~~~~~ 2026-04-13T04:26:21.156297Z 01O /builds/Rdatatable/data.table/src/froll.c:1362:3: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-04-13T04:26:21.156298Z 01O 1362 | next[p] = tail; 2026-04-13T04:26:21.156298Z 01O | ^ 2026-04-13T04:26:21.156299Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.156299Z 01O 1504 | if (verbose) 2026-04-13T04:26:21.156300Z 01O | ^~~~~~~ 2026-04-13T04:26:21.156304Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-04-13T04:26:21.156305Z 01O 1504 | if (verbose) 2026-04-13T04:26:21.156305Z 01O | ^ 2026-04-13T04:26:21.156306Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-04-13T04:26:21.156306Z 01O 1506 | if (k == 0) { 2026-04-13T04:26:21.156307Z 01O | ^~~~~~ 2026-04-13T04:26:21.156307Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-04-13T04:26:21.156308Z 01O 1506 | if (k == 0) { 2026-04-13T04:26:21.156308Z 01O | ^ 2026-04-13T04:26:21.156309Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-04-13T04:26:21.156309Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.156310Z 01O | ^~~~~~ 2026-04-13T04:26:21.156310Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-04-13T04:26:21.156311Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-04-13T04:26:21.156312Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.156312Z 01O | ^~~~~~ 2026-04-13T04:26:21.156449Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-04-13T04:26:21.156450Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.156451Z 01O | ^ 2026-04-13T04:26:21.156451Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-04-13T04:26:21.156452Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.156452Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.156453Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-04-13T04:26:21.156453Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.156454Z 01O | ^ 2026-04-13T04:26:21.156460Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-04-13T04:26:21.156460Z 01O 1565 | if (nx_mod_k) { 2026-04-13T04:26:21.156461Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.156461Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-04-13T04:26:21.156462Z 01O 1565 | if (nx_mod_k) { 2026-04-13T04:26:21.156462Z 01O | ^ 2026-04-13T04:26:21.156463Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-04-13T04:26:21.156463Z 01O 1572 | bool even = !(k % 2); 2026-04-13T04:26:21.156464Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.156464Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-04-13T04:26:21.156465Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-04-13T04:26:21.156465Z 01O | ^~~~ 2026-04-13T04:26:21.156472Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-04-13T04:26:21.156473Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-04-13T04:26:21.156473Z 01O 1577 | if (!o) { // # nocov start 2026-04-13T04:26:21.156474Z 01O | ^~ 2026-04-13T04:26:21.156477Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-04-13T04:26:21.156477Z 01O 1577 | if (!o) { // # nocov start 2026-04-13T04:26:21.156478Z 01O | ^ 2026-04-13T04:26:21.156478Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-04-13T04:26:21.156479Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-04-13T04:26:21.156479Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.156480Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-04-13T04:26:21.156480Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-04-13T04:26:21.156481Z 01O | ^ 2026-04-13T04:26:21.156485Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-04-13T04:26:21.156485Z 01O 1586 | if (!m) { // # nocov start 2026-04-13T04:26:21.156486Z 01O | ^~ 2026-04-13T04:26:21.156486Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-04-13T04:26:21.156487Z 01O 1586 | if (!m) { // # nocov start 2026-04-13T04:26:21.156487Z 01O | ^ 2026-04-13T04:26:21.156488Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-04-13T04:26:21.156488Z 01O 1592 | if (!n) { // # nocov start 2026-04-13T04:26:21.156489Z 01O | ^~ 2026-04-13T04:26:21.156489Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-04-13T04:26:21.156490Z 01O 1592 | if (!n) { // # nocov start 2026-04-13T04:26:21.156490Z 01O | ^ 2026-04-13T04:26:21.156491Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-04-13T04:26:21.156491Z 01O 1598 | if (!s) { // # nocov start 2026-04-13T04:26:21.156492Z 01O | ^~ 2026-04-13T04:26:21.156492Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-04-13T04:26:21.156493Z 01O 1598 | if (!s) { // # nocov start 2026-04-13T04:26:21.156493Z 01O | ^ 2026-04-13T04:26:21.156555Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-04-13T04:26:21.156556Z 01O 1604 | if (!prev) { // # nocov start 2026-04-13T04:26:21.156557Z 01O | ^~~~~ 2026-04-13T04:26:21.156560Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-04-13T04:26:21.156561Z 01O 1604 | if (!prev) { // # nocov start 2026-04-13T04:26:21.156561Z 01O | ^ 2026-04-13T04:26:21.156561Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-04-13T04:26:21.156562Z 01O 1610 | if (!next) { // # nocov start 2026-04-13T04:26:21.156563Z 01O | ^~~~~ 2026-04-13T04:26:21.156563Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-04-13T04:26:21.156564Z 01O 1610 | if (!next) { // # nocov start 2026-04-13T04:26:21.156564Z 01O | ^ 2026-04-13T04:26:21.156565Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-04-13T04:26:21.156565Z 01O 1616 | if (verbose) 2026-04-13T04:26:21.156566Z 01O | ^~~~~~~ 2026-04-13T04:26:21.156568Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-04-13T04:26:21.156569Z 01O 1616 | if (verbose) 2026-04-13T04:26:21.156569Z 01O | ^ 2026-04-13T04:26:21.156570Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-04-13T04:26:21.156570Z 01O 1619 | for (int j=0; j= 'k' 2026-04-13T04:26:21.156665Z 01O 1356 | for (int i=0; i=0) { 2026-04-13T04:26:21.156797Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.156797Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-04-13T04:26:21.156798Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.156798Z 01O | ^ 2026-04-13T04:26:21.156801Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-04-13T04:26:21.156801Z 01O 1565 | if (nx_mod_k) { 2026-04-13T04:26:21.156802Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.156802Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-04-13T04:26:21.156803Z 01O 1565 | if (nx_mod_k) { 2026-04-13T04:26:21.156803Z 01O | ^ 2026-04-13T04:26:21.156807Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-04-13T04:26:21.156807Z 01O 1572 | bool even = !(k % 2); 2026-04-13T04:26:21.156808Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.156808Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-04-13T04:26:21.156809Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-04-13T04:26:21.156809Z 01O | ^~~~ 2026-04-13T04:26:21.156810Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-04-13T04:26:21.156894Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-04-13T04:26:21.156895Z 01O 1577 | if (!o) { // # nocov start 2026-04-13T04:26:21.156895Z 01O | ^~ 2026-04-13T04:26:21.156896Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-04-13T04:26:21.156896Z 01O 1577 | if (!o) { // # nocov start 2026-04-13T04:26:21.156897Z 01O | ^ 2026-04-13T04:26:21.156901Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-04-13T04:26:21.156901Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-04-13T04:26:21.156902Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.156902Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-04-13T04:26:21.156903Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-04-13T04:26:21.156904Z 01O | ^ 2026-04-13T04:26:21.156904Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-04-13T04:26:21.156905Z 01O 1586 | if (!m) { // # nocov start 2026-04-13T04:26:21.156905Z 01O | ^~ 2026-04-13T04:26:21.156906Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-04-13T04:26:21.156906Z 01O 1586 | if (!m) { // # nocov start 2026-04-13T04:26:21.156907Z 01O | ^ 2026-04-13T04:26:21.156907Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-04-13T04:26:21.156908Z 01O 1592 | if (!n) { // # nocov start 2026-04-13T04:26:21.156908Z 01O | ^~ 2026-04-13T04:26:21.156914Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-04-13T04:26:21.156914Z 01O 1592 | if (!n) { // # nocov start 2026-04-13T04:26:21.156915Z 01O | ^ 2026-04-13T04:26:21.156992Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-04-13T04:26:21.156993Z 01O 1598 | if (!s) { // # nocov start 2026-04-13T04:26:21.156994Z 01O | ^~ 2026-04-13T04:26:21.156995Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-04-13T04:26:21.156998Z 01O 1598 | if (!s) { // # nocov start 2026-04-13T04:26:21.156999Z 01O | ^ 2026-04-13T04:26:21.157002Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-04-13T04:26:21.157003Z 01O 1604 | if (!prev) { // # nocov start 2026-04-13T04:26:21.157004Z 01O | ^~~~~ 2026-04-13T04:26:21.157005Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-04-13T04:26:21.157006Z 01O 1604 | if (!prev) { // # nocov start 2026-04-13T04:26:21.157007Z 01O | ^ 2026-04-13T04:26:21.157007Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-04-13T04:26:21.157008Z 01O 1610 | if (!next) { // # nocov start 2026-04-13T04:26:21.157009Z 01O | ^~~~~ 2026-04-13T04:26:21.157012Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-04-13T04:26:21.157013Z 01O 1610 | if (!next) { // # nocov start 2026-04-13T04:26:21.157013Z 01O | ^ 2026-04-13T04:26:21.157016Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2026-04-13T04:26:21.157017Z 01O 1616 | if (verbose) 2026-04-13T04:26:21.157017Z 01O | ^~~~~~~ 2026-04-13T04:26:21.157018Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2026-04-13T04:26:21.157018Z 01O 1616 | if (verbose) 2026-04-13T04:26:21.157019Z 01O | ^ 2026-04-13T04:26:21.157019Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-04-13T04:26:21.157020Z 01O 1619 | for (int j=0; j= 'b' 2026-04-13T04:26:21.157238Z 01O 1619 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2026-04-13T04:26:21.157297Z 01O | ^~~ 2026-04-13T04:26:21.157298Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2026-04-13T04:26:21.157328Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.157329Z 01O 1631 | for (int i=0; i= 'm' 2026-04-13T04:26:21.157751Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-04-13T04:26:21.157752Z 01O | ^~~~~ 2026-04-13T04:26:21.157797Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:7: note: Returning from 'small' 2026-04-13T04:26:21.157798Z 01O 1391 | if (SMALL(i)) { 2026-04-13T04:26:21.157799Z 01O | ^ 2026-04-13T04:26:21.157799Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-04-13T04:26:21.157800Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-04-13T04:26:21.157801Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.157801Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:3: note: Taking false branch 2026-04-13T04:26:21.157802Z 01O 1391 | if (SMALL(i)) { 2026-04-13T04:26:21.157802Z 01O | ^ 2026-04-13T04:26:21.157803Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:9: note: Assuming the condition is false 2026-04-13T04:26:21.157803Z 01O 1394 | if (m[0] == i) { 2026-04-13T04:26:21.157804Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.157810Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:5: note: Taking false branch 2026-04-13T04:26:21.157810Z 01O 1394 | if (m[0] == i) { 2026-04-13T04:26:21.157811Z 01O | ^ 2026-04-13T04:26:21.157811Z 01O /builds/Rdatatable/data.table/src/froll.c:1397:5: note: Taking true branch 2026-04-13T04:26:21.157812Z 01O 1397 | if (s[0] > 0) { 2026-04-13T04:26:21.157812Z 01O | ^ 2026-04-13T04:26:21.157815Z 01O /builds/Rdatatable/data.table/src/froll.c:1398:14: note: Access of the heap area at negative byte offset 2026-04-13T04:26:21.157816Z 01O 1398 | m[0] = prev[m[0]]; 2026-04-13T04:26:21.157817Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.157817Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-04-13T04:26:21.157818Z 01O 1469 | m[0] = prev[m[0]]; 2026-04-13T04:26:21.157818Z 01O | ^ 2026-04-13T04:26:21.157821Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.157821Z 01O 1504 | if (verbose) 2026-04-13T04:26:21.157822Z 01O | ^~~~~~~ 2026-04-13T04:26:21.157822Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-04-13T04:26:21.157823Z 01O 1504 | if (verbose) 2026-04-13T04:26:21.157824Z 01O | ^ 2026-04-13T04:26:21.157875Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-04-13T04:26:21.157876Z 01O 1506 | if (k == 0) { 2026-04-13T04:26:21.157876Z 01O | ^~~~~~ 2026-04-13T04:26:21.157877Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-04-13T04:26:21.157877Z 01O 1506 | if (k == 0) { 2026-04-13T04:26:21.157878Z 01O | ^ 2026-04-13T04:26:21.157880Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-04-13T04:26:21.157881Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.157882Z 01O | ^~~~~~ 2026-04-13T04:26:21.157882Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-04-13T04:26:21.157885Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-04-13T04:26:21.157885Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.157886Z 01O | ^~~~~~ 2026-04-13T04:26:21.157942Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-04-13T04:26:21.157943Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.157943Z 01O | ^ 2026-04-13T04:26:21.157944Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-04-13T04:26:21.157944Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.157945Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.157945Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-04-13T04:26:21.157946Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.157946Z 01O | ^ 2026-04-13T04:26:21.157954Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-04-13T04:26:21.157959Z 01O 1565 | if (nx_mod_k) { 2026-04-13T04:26:21.157960Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.157961Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-04-13T04:26:21.157962Z 01O 1565 | if (nx_mod_k) { 2026-04-13T04:26:21.157963Z 01O | ^ 2026-04-13T04:26:21.157963Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is true 2026-04-13T04:26:21.157965Z 01O 1572 | bool even = !(k % 2); 2026-04-13T04:26:21.157965Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.157982Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is true 2026-04-13T04:26:21.157992Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-04-13T04:26:21.157993Z 01O | ^~~~ 2026-04-13T04:26:21.157993Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is true 2026-04-13T04:26:21.157994Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-04-13T04:26:21.157994Z 01O 1577 | if (!o) { // # nocov start 2026-04-13T04:26:21.157995Z 01O | ^~ 2026-04-13T04:26:21.157995Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-04-13T04:26:21.157996Z 01O 1577 | if (!o) { // # nocov start 2026-04-13T04:26:21.157996Z 01O | ^ 2026-04-13T04:26:21.158039Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-04-13T04:26:21.158040Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-04-13T04:26:21.158041Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.158041Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-04-13T04:26:21.158042Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-04-13T04:26:21.158042Z 01O | ^ 2026-04-13T04:26:21.158043Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-04-13T04:26:21.158043Z 01O 1586 | if (!m) { // # nocov start 2026-04-13T04:26:21.158044Z 01O | ^~ 2026-04-13T04:26:21.158044Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-04-13T04:26:21.158045Z 01O 1586 | if (!m) { // # nocov start 2026-04-13T04:26:21.158045Z 01O | ^ 2026-04-13T04:26:21.158046Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-04-13T04:26:21.158046Z 01O 1592 | if (!n) { // # nocov start 2026-04-13T04:26:21.158047Z 01O | ^~ 2026-04-13T04:26:21.158047Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-04-13T04:26:21.158048Z 01O 1592 | if (!n) { // # nocov start 2026-04-13T04:26:21.158049Z 01O | ^ 2026-04-13T04:26:21.158139Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-04-13T04:26:21.158140Z 01O 1598 | if (!s) { // # nocov start 2026-04-13T04:26:21.158140Z 01O | ^~ 2026-04-13T04:26:21.158141Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-04-13T04:26:21.158142Z 01O 1598 | if (!s) { // # nocov start 2026-04-13T04:26:21.158142Z 01O | ^ 2026-04-13T04:26:21.158142Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-04-13T04:26:21.158143Z 01O 1604 | if (!prev) { // # nocov start 2026-04-13T04:26:21.158144Z 01O | ^~~~~ 2026-04-13T04:26:21.158144Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-04-13T04:26:21.158145Z 01O 1604 | if (!prev) { // # nocov start 2026-04-13T04:26:21.158145Z 01O | ^ 2026-04-13T04:26:21.158148Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-04-13T04:26:21.158148Z 01O 1610 | if (!next) { // # nocov start 2026-04-13T04:26:21.158149Z 01O | ^~~~~ 2026-04-13T04:26:21.158149Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-04-13T04:26:21.158150Z 01O 1610 | if (!next) { // # nocov start 2026-04-13T04:26:21.158150Z 01O | ^ 2026-04-13T04:26:21.158238Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-04-13T04:26:21.158239Z 01O 1616 | if (verbose) 2026-04-13T04:26:21.158240Z 01O | ^~~~~~~ 2026-04-13T04:26:21.158240Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-04-13T04:26:21.158241Z 01O 1616 | if (verbose) 2026-04-13T04:26:21.158241Z 01O | ^ 2026-04-13T04:26:21.158243Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-04-13T04:26:21.158252Z 01O 1619 | for (int j=0; j= 'b' 2026-04-13T04:26:21.158449Z 01O 1619 | for (int j=0; j= 'm' 2026-04-13T04:26:21.158854Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-04-13T04:26:21.158854Z 01O | ^~~~~ 2026-04-13T04:26:21.158855Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:7: note: Returning from 'small' 2026-04-13T04:26:21.158856Z 01O 1458 | if (SMALL(i)) { 2026-04-13T04:26:21.158856Z 01O | ^ 2026-04-13T04:26:21.158856Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-04-13T04:26:21.158857Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-04-13T04:26:21.158858Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.158858Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking false branch 2026-04-13T04:26:21.158859Z 01O 1458 | if (SMALL(i)) { 2026-04-13T04:26:21.158859Z 01O | ^ 2026-04-13T04:26:21.158936Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:9: note: Assuming the condition is false 2026-04-13T04:26:21.158937Z 01O 1461 | if (m[0] == i) { 2026-04-13T04:26:21.158938Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.158938Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:5: note: Taking false branch 2026-04-13T04:26:21.158939Z 01O 1461 | if (m[0] == i) { 2026-04-13T04:26:21.158939Z 01O | ^ 2026-04-13T04:26:21.158940Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: 'even' is true 2026-04-13T04:26:21.158940Z 01O 1465 | } else if (even && n[0] == i) { 2026-04-13T04:26:21.158941Z 01O | ^~~~ 2026-04-13T04:26:21.158941Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: Left side of '&&' is true 2026-04-13T04:26:21.158942Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:24: note: Assuming the condition is false 2026-04-13T04:26:21.158943Z 01O 1465 | } else if (even && n[0] == i) { 2026-04-13T04:26:21.158943Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.158945Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:12: note: Taking false branch 2026-04-13T04:26:21.158946Z 01O 1465 | } else if (even && n[0] == i) { 2026-04-13T04:26:21.158947Z 01O | ^ 2026-04-13T04:26:21.158949Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:9: note: Assuming the condition is true 2026-04-13T04:26:21.158950Z 01O 1468 | if (s[0] > 0) { 2026-04-13T04:26:21.158950Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.158951Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:5: note: Taking true branch 2026-04-13T04:26:21.158951Z 01O 1468 | if (s[0] > 0) { 2026-04-13T04:26:21.158952Z 01O | ^ 2026-04-13T04:26:21.158956Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: note: Access of the heap area at negative byte offset 2026-04-13T04:26:21.158957Z 01O 1469 | m[0] = prev[m[0]]; 2026-04-13T04:26:21.158957Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.158958Z 01O /builds/Rdatatable/data.table/src/froll.c:1576:12: warning: Call to 'malloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-04-13T04:26:21.158958Z 01O 1576 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-04-13T04:26:21.158959Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.158959Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.158960Z 01O 1504 | if (verbose) 2026-04-13T04:26:21.158961Z 01O | ^~~~~~~ 2026-04-13T04:26:21.158961Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-04-13T04:26:21.158962Z 01O 1504 | if (verbose) 2026-04-13T04:26:21.158962Z 01O | ^ 2026-04-13T04:26:21.158962Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-04-13T04:26:21.158963Z 01O 1506 | if (k == 0) { 2026-04-13T04:26:21.158964Z 01O | ^~~~~~ 2026-04-13T04:26:21.158964Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-04-13T04:26:21.158970Z 01O 1506 | if (k == 0) { 2026-04-13T04:26:21.158970Z 01O | ^ 2026-04-13T04:26:21.159046Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-04-13T04:26:21.159048Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.159048Z 01O | ^~~~~~ 2026-04-13T04:26:21.159049Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-04-13T04:26:21.159049Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-04-13T04:26:21.159050Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.159051Z 01O | ^~~~~~ 2026-04-13T04:26:21.159054Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-04-13T04:26:21.159055Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-04-13T04:26:21.159055Z 01O | ^ 2026-04-13T04:26:21.159056Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is >= 0 2026-04-13T04:26:21.159056Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.159057Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.159057Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-04-13T04:26:21.159058Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.159058Z 01O | ^ 2026-04-13T04:26:21.159061Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is >= 'nx' 2026-04-13T04:26:21.159061Z 01O 1547 | for (uint64_t i=0; i= 0 2026-04-13T04:26:21.159300Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.159301Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.159301Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-04-13T04:26:21.159302Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.159302Z 01O | ^ 2026-04-13T04:26:21.159305Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-04-13T04:26:21.159305Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-04-13T04:26:21.159563Z 01O 1547 | for (uint64_t i=0; i= 0 2026-04-13T04:26:21.160160Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.160161Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.160161Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-04-13T04:26:21.160167Z 01O 1546 | if (hasnf>=0) { 2026-04-13T04:26:21.160168Z 01O | ^ 2026-04-13T04:26:21.160170Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-04-13T04:26:21.160170Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-04-13T04:26:21.160312Z 01O 1547 | for (uint64_t i=0; i 0 2026-04-13T04:26:21.161047Z 01O 533 | bool truehasnf = hasnf>0; 2026-04-13T04:26:21.161047Z 01O | ^~~~~~~ 2026-04-13T04:26:21.161049Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:534:24: note: 'i' is < 'nx' 2026-04-13T04:26:21.161050Z 01O 534 | for (uint64_t i=0; i= 'nx' 2026-04-13T04:26:21.161155Z 01O 534 | for (uint64_t i=0; i 0 2026-04-13T04:26:21.161534Z 01O 608 | bool truehasnf = hasnf>0; 2026-04-13T04:26:21.161534Z 01O | ^~~~~~~ 2026-04-13T04:26:21.161535Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:609:24: note: 'i' is < 'nx' 2026-04-13T04:26:21.161536Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-04-13T04:26:21.161640Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-04-13T04:26:21.161849Z 01O 931 | for (uint64_t i=1; i=0; i--) { 2026-04-13T04:26:21.162150Z 01O | ^ 2026-04-13T04:26:21.162206Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:11: note: Assuming the condition is false 2026-04-13T04:26:21.162207Z 01O 880 | if (i+1 == ik) { 2026-04-13T04:26:21.162207Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.162208Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:7: note: Taking false branch 2026-04-13T04:26:21.162208Z 01O 880 | if (i+1 == ik) { 2026-04-13T04:26:21.162209Z 01O | ^ 2026-04-13T04:26:21.162209Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:18: note: Assuming the condition is false 2026-04-13T04:26:21.162210Z 01O 882 | } else if (i+1 < ik) { 2026-04-13T04:26:21.162210Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.162211Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:14: note: Taking false branch 2026-04-13T04:26:21.162211Z 01O 882 | } else if (i+1 < ik) { 2026-04-13T04:26:21.162212Z 01O | ^ 2026-04-13T04:26:21.162215Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:885:25: note: Assuming index is non-negative and less than 1, the number of 'int' elements in the heap area 2026-04-13T04:26:21.162216Z 01O 885 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-04-13T04:26:21.162216Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.162217Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:878:5: note: Loop condition is false. Execution continues on line 889 2026-04-13T04:26:21.162217Z 01O 878 | for (int64_t i=nx-1; i>=0; i--) { 2026-04-13T04:26:21.162218Z 01O | ^ 2026-04-13T04:26:21.162220Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:989:14: note: Returning from 'frolladaptiveNAFast' 2026-04-13T04:26:21.162221Z 01O 989 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-04-13T04:26:21.162222Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.162222Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:10: note: 'nc' is 1 2026-04-13T04:26:21.162223Z 01O 990 | if (!nc) { // total NA for x 2026-04-13T04:26:21.162223Z 01O | ^~ 2026-04-13T04:26:21.162230Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:5: note: Taking false branch 2026-04-13T04:26:21.162231Z 01O 990 | if (!nc) { // total NA for x 2026-04-13T04:26:21.162231Z 01O | ^ 2026-04-13T04:26:21.162340Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.162341Z 01O 998 | for (uint64_t i=0; i= 'ngrp' 2026-04-13T04:26:21.162786Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-04-13T04:26:21.163066Z 01O | ^~~~~~~ 2026-04-13T04:26:21.163066Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-04-13T04:26:21.163067Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-04-13T04:26:21.163068Z 01O | ^ 2026-04-13T04:26:21.163068Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-04-13T04:26:21.163069Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-04-13T04:26:21.163069Z 01O | ^ 2026-04-13T04:26:21.163078Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-04-13T04:26:21.163079Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-04-13T04:26:21.163080Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.163080Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-04-13T04:26:21.163083Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-04-13T04:26:21.163084Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-04-13T04:26:21.163084Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.163085Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-04-13T04:26:21.163086Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-04-13T04:26:21.163086Z 01O | ^ 2026-04-13T04:26:21.163168Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-04-13T04:26:21.163169Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-04-13T04:26:21.163169Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.163170Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-04-13T04:26:21.163170Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-04-13T04:26:21.163171Z 01O | ^ 2026-04-13T04:26:21.163171Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-04-13T04:26:21.163172Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-04-13T04:26:21.163261Z 01O | ^~~~~~~ 2026-04-13T04:26:21.163262Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-04-13T04:26:21.163263Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-04-13T04:26:21.163263Z 01O | ^ 2026-04-13T04:26:21.163264Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-04-13T04:26:21.163264Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-04-13T04:26:21.163270Z 01O | ^ 2026-04-13T04:26:21.163271Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-04-13T04:26:21.163271Z 01O 122 | if (!counts || !TMP ) { 2026-04-13T04:26:21.163272Z 01O | ^~~~~~~ 2026-04-13T04:26:21.163272Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-04-13T04:26:21.163340Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-04-13T04:26:21.163341Z 01O 122 | if (!counts || !TMP ) { 2026-04-13T04:26:21.163342Z 01O | ^~~~ 2026-04-13T04:26:21.163343Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-04-13T04:26:21.163344Z 01O 122 | if (!counts || !TMP ) { 2026-04-13T04:26:21.163345Z 01O | ^ 2026-04-13T04:26:21.163346Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-04-13T04:26:21.163346Z 01O 127 | for (int b=0; b= 'howMany' 2026-04-13T04:26:21.163367Z 01O 131 | for (int i=0; i= 'highSize' 2026-04-13T04:26:21.163438Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-04-13T04:26:21.163749Z 01O | ^ 2026-04-13T04:26:21.163749Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-04-13T04:26:21.163750Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-04-13T04:26:21.163750Z 01O | ^ ~ 2026-04-13T04:26:21.163751Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-04-13T04:26:21.163751Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-04-13T04:26:21.163752Z 01O | ^ ~ 2026-04-13T04:26:21.163865Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-04-13T04:26:21.163866Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.163867Z 01O | ^ 2026-04-13T04:26:21.163872Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.163873Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.163873Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.163874Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-04-13T04:26:21.163875Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.163875Z 01O | ^ 2026-04-13T04:26:21.163876Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.163876Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.163877Z 01O | ^ 2026-04-13T04:26:21.163886Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-04-13T04:26:21.163887Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.163887Z 01O | ^ 2026-04-13T04:26:21.163888Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.163888Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.163889Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.163889Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-04-13T04:26:21.163890Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.163891Z 01O | ^ 2026-04-13T04:26:21.163891Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.163892Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.163898Z 01O | ^ 2026-04-13T04:26:21.163977Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-04-13T04:26:21.163978Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.163979Z 01O | ^ 2026-04-13T04:26:21.163983Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.163992Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.163993Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.163994Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-04-13T04:26:21.163994Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.163995Z 01O | ^ 2026-04-13T04:26:21.163999Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-04-13T04:26:21.164000Z 01O 1120 | if (!isVectorAtomic(x)) 2026-04-13T04:26:21.164000Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.164001Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-04-13T04:26:21.164001Z 01O 1120 | if (!isVectorAtomic(x)) 2026-04-13T04:26:21.164002Z 01O | ^ 2026-04-13T04:26:21.164002Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-04-13T04:26:21.164003Z 01O 1122 | if (inherits(x, "factor")) 2026-04-13T04:26:21.164004Z 01O | ^ 2026-04-13T04:26:21.164004Z 01O /usr/local/lib/R/include/Rinternals.h:937:19: note: expanded from macro 'inherits' 2026-04-13T04:26:21.164005Z 01O 937 | #define inherits Rf_inherits 2026-04-13T04:26:21.164005Z 01O | ^ 2026-04-13T04:26:21.164006Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-04-13T04:26:21.164006Z 01O 1122 | if (inherits(x, "factor")) 2026-04-13T04:26:21.164007Z 01O | ^ 2026-04-13T04:26:21.164072Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-04-13T04:26:21.164073Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-04-13T04:26:21.164073Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.164079Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-04-13T04:26:21.164080Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-04-13T04:26:21.164080Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.164081Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-04-13T04:26:21.164082Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-04-13T04:26:21.164082Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-04-13T04:26:21.164083Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.164083Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-04-13T04:26:21.164084Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-04-13T04:26:21.164085Z 01O | ^ 2026-04-13T04:26:21.164085Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-04-13T04:26:21.164086Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-04-13T04:26:21.164086Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.164160Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-04-13T04:26:21.164161Z 01O 1129 | if (!s) 2026-04-13T04:26:21.164162Z 01O | ^~ 2026-04-13T04:26:21.164162Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-04-13T04:26:21.164163Z 01O 1129 | if (!s) 2026-04-13T04:26:21.164163Z 01O | ^ 2026-04-13T04:26:21.164180Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-04-13T04:26:21.164181Z 01O 1131 | for (int i=0; i= 'n' 2026-04-13T04:26:21.164185Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-04-13T04:26:21.164278Z 01O | ^ 2026-04-13T04:26:21.164279Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-04-13T04:26:21.164279Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-04-13T04:26:21.164280Z 01O | ^ ~ 2026-04-13T04:26:21.164280Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-04-13T04:26:21.164281Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-04-13T04:26:21.164282Z 01O | ^ ~ 2026-04-13T04:26:21.164359Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-04-13T04:26:21.164360Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-04-13T04:26:21.164361Z 01O | ~~~~ ^ 2026-04-13T04:26:21.164365Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-04-13T04:26:21.164366Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.164372Z 01O | ^ 2026-04-13T04:26:21.164372Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.164373Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.164374Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.164377Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-04-13T04:26:21.164378Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.164379Z 01O | ^ 2026-04-13T04:26:21.164382Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.164383Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.164383Z 01O | ^ 2026-04-13T04:26:21.164384Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-04-13T04:26:21.164384Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.164385Z 01O | ^ 2026-04-13T04:26:21.164480Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.164481Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.164481Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.164482Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-04-13T04:26:21.164483Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.164483Z 01O | ^ 2026-04-13T04:26:21.164486Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.164486Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.164487Z 01O | ^ 2026-04-13T04:26:21.164489Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-04-13T04:26:21.164490Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.164491Z 01O | ^ 2026-04-13T04:26:21.164527Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.164528Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.164529Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.164530Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-04-13T04:26:21.164530Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-04-13T04:26:21.164531Z 01O | ^ 2026-04-13T04:26:21.164531Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-04-13T04:26:21.164532Z 01O 1120 | if (!isVectorAtomic(x)) 2026-04-13T04:26:21.164532Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.164533Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-04-13T04:26:21.164534Z 01O 1120 | if (!isVectorAtomic(x)) 2026-04-13T04:26:21.164534Z 01O | ^ 2026-04-13T04:26:21.164534Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-04-13T04:26:21.164535Z 01O 1122 | if (inherits(x, "factor")) 2026-04-13T04:26:21.164536Z 01O | ^ 2026-04-13T04:26:21.164539Z 01O /usr/local/lib/R/include/Rinternals.h:937:19: note: expanded from macro 'inherits' 2026-04-13T04:26:21.164540Z 01O 937 | #define inherits Rf_inherits 2026-04-13T04:26:21.164541Z 01O | ^ 2026-04-13T04:26:21.164541Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-04-13T04:26:21.164559Z 01O 1122 | if (inherits(x, "factor")) 2026-04-13T04:26:21.164561Z 01O | ^ 2026-04-13T04:26:21.164561Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-04-13T04:26:21.164562Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-04-13T04:26:21.164563Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.164576Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-04-13T04:26:21.164577Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-04-13T04:26:21.164577Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.164578Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-04-13T04:26:21.164584Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-04-13T04:26:21.164585Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-04-13T04:26:21.164586Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.164586Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-04-13T04:26:21.164587Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-04-13T04:26:21.164588Z 01O | ^ 2026-04-13T04:26:21.164624Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-04-13T04:26:21.164625Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-04-13T04:26:21.164625Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.164626Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-04-13T04:26:21.164627Z 01O 1129 | if (!s) 2026-04-13T04:26:21.164627Z 01O | ^~ 2026-04-13T04:26:21.164659Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-04-13T04:26:21.164660Z 01O 1129 | if (!s) 2026-04-13T04:26:21.164660Z 01O | ^ 2026-04-13T04:26:21.164660Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-04-13T04:26:21.164661Z 01O 1131 | for (int i=0; i= 'n' 2026-04-13T04:26:21.164728Z 01O 1135 | for (int i=0; i' is a garbage value 2026-04-13T04:26:21.164818Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-04-13T04:26:21.164819Z 01O | ~~~~ ^ 2026-04-13T04:26:21.164898Z 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-04-13T04:26:21.164899Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-04-13T04:26:21.164900Z 01O | ^ 2026-04-13T04:26:21.164900Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-04-13T04:26:21.164901Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-04-13T04:26:21.164901Z 01O | ^ 2026-04-13T04:26:21.164902Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-04-13T04:26:21.164903Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-04-13T04:26:21.164903Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.165007Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-04-13T04:26:21.165008Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-04-13T04:26:21.165009Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165009Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-04-13T04:26:21.165010Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-04-13T04:26:21.165011Z 01O | ^ 2026-04-13T04:26:21.165014Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-04-13T04:26:21.165015Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-04-13T04:26:21.165016Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165016Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-04-13T04:26:21.165017Z 01O 54 | if (!ret) 2026-04-13T04:26:21.165017Z 01O | ^~~~ 2026-04-13T04:26:21.165018Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-04-13T04:26:21.165018Z 01O 54 | if (!ret) 2026-04-13T04:26:21.165019Z 01O | ^ 2026-04-13T04:26:21.165019Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-04-13T04:26:21.165020Z 01O 59 | if (!table) { 2026-04-13T04:26:21.165020Z 01O | ^~~~~~ 2026-04-13T04:26:21.165021Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-04-13T04:26:21.165021Z 01O 59 | if (!table) { 2026-04-13T04:26:21.165022Z 01O | ^ 2026-04-13T04:26:21.165112Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-04-13T04:26:21.165113Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-04-13T04:26:21.165114Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165117Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-04-13T04:26:21.165118Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-04-13T04:26:21.165118Z 01O | ^ 2026-04-13T04:26:21.165128Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-04-13T04:26:21.165128Z 01O 71 | ret->shift = HASH_BITS - k; 2026-04-13T04:26:21.165129Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165129Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-04-13T04:26:21.165130Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-04-13T04:26:21.165131Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165135Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-04-13T04:26:21.165135Z 01O 133 | if (!new_h) return NULL; 2026-04-13T04:26:21.165136Z 01O | ^~~~~ 2026-04-13T04:26:21.165136Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-04-13T04:26:21.165137Z 01O 133 | if (!new_h) return NULL; 2026-04-13T04:26:21.165137Z 01O | ^ 2026-04-13T04:26:21.165138Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-04-13T04:26:21.165139Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-04-13T04:26:21.165139Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.165140Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.165140Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-04-13T04:26:21.165141Z 01O | ^ 2026-04-13T04:26:21.165141Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-04-13T04:26:21.165142Z 01O 138 | if (h->table[i].key) 2026-04-13T04:26:21.165142Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165143Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-04-13T04:26:21.165143Z 01O 138 | if (h->table[i].key) 2026-04-13T04:26:21.165144Z 01O | ^ 2026-04-13T04:26:21.165221Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-04-13T04:26:21.165222Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-04-13T04:26:21.165223Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165228Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-04-13T04:26:21.165229Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-04-13T04:26:21.165229Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.165230Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-04-13T04:26:21.165230Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-04-13T04:26:21.165231Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165232Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-04-13T04:26:21.165232Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-04-13T04:26:21.165233Z 01O | ^ 2026-04-13T04:26:21.165236Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-04-13T04:26:21.165237Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-04-13T04:26:21.165237Z 01O | ^ 2026-04-13T04:26:21.165240Z 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-04-13T04:26:21.165241Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-04-13T04:26:21.165242Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-04-13T04:26:21.165365Z 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-04-13T04:26:21.165372Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-04-13T04:26:21.165376Z 01O | ^ 2026-04-13T04:26:21.165381Z 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-04-13T04:26:21.165401Z 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-04-13T04:26:21.165402Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-04-13T04:26:21.165403Z 01O | ^ 2026-04-13T04:26:21.165404Z 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-04-13T04:26:21.165457Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.165458Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-04-13T04:26:21.165458Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165459Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-04-13T04:26:21.165460Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-04-13T04:26:21.165460Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165527Z 01O /builds/Rdatatable/data.table/src/nafill.c:10:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.165529Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-04-13T04:26:21.165529Z 01O | ^ 2026-04-13T04:26:21.165534Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.165534Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.165535Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.165535Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.165536Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.165536Z 01O | ^ 2026-04-13T04:26:21.165537Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.165538Z 01O 128 | if (verbose) 2026-04-13T04:26:21.165538Z 01O | ^~~~~~~ 2026-04-13T04:26:21.165538Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.165539Z 01O 128 | if (verbose) 2026-04-13T04:26:21.165539Z 01O | ^ 2026-04-13T04:26:21.165540Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.165541Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.165541Z 01O | ^ 2026-04-13T04:26:21.165639Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.165641Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.165642Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165647Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.165647Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.165648Z 01O | ^ 2026-04-13T04:26:21.165648Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.165649Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.165656Z 01O | ^ 2026-04-13T04:26:21.165659Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.165659Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.165660Z 01O | ^ 2026-04-13T04:26:21.165662Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.165663Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.165664Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.165753Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.165754Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.165755Z 01O | ^ 2026-04-13T04:26:21.165755Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.165756Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.165757Z 01O | ^ 2026-04-13T04:26:21.165767Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.165768Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.165768Z 01O | ^ 2026-04-13T04:26:21.165769Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.165769Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.165770Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.165771Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.165771Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.165772Z 01O | ^ 2026-04-13T04:26:21.165772Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.165773Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.165773Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.165774Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.165775Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.165775Z 01O | ^ 2026-04-13T04:26:21.165775Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.165776Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.165891Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-04-13T04:26:21.166285Z 01O | ^ 2026-04-13T04:26:21.166286Z 01O /builds/Rdatatable/data.table/src/nafill.c:14:30: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.166287Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-04-13T04:26:21.166287Z 01O | ^ 2026-04-13T04:26:21.166288Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.166289Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.166289Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.166289Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.166290Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.166291Z 01O | ^ 2026-04-13T04:26:21.166291Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.166292Z 01O 128 | if (verbose) 2026-04-13T04:26:21.166292Z 01O | ^~~~~~~ 2026-04-13T04:26:21.166292Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.166293Z 01O 128 | if (verbose) 2026-04-13T04:26:21.166293Z 01O | ^ 2026-04-13T04:26:21.166370Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.166371Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.166372Z 01O | ^ 2026-04-13T04:26:21.166372Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.166373Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.166373Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.166374Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.166375Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.166375Z 01O | ^ 2026-04-13T04:26:21.166376Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.166376Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.166377Z 01O | ^ 2026-04-13T04:26:21.166377Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.166378Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.166379Z 01O | ^ 2026-04-13T04:26:21.166456Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.166463Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.166464Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.166464Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.166465Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.166466Z 01O | ^ 2026-04-13T04:26:21.166471Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.166471Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.166472Z 01O | ^ 2026-04-13T04:26:21.166473Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.166473Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.166474Z 01O | ^ 2026-04-13T04:26:21.166474Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.166475Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.166476Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.166476Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.166477Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.166477Z 01O | ^ 2026-04-13T04:26:21.166535Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.166536Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.166536Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.166536Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.166537Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.166538Z 01O | ^ 2026-04-13T04:26:21.166538Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.166539Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.166624Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-04-13T04:26:21.167080Z 01O | ^ 2026-04-13T04:26:21.167163Z 01O /builds/Rdatatable/data.table/src/nafill.c:19:29: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.167164Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-04-13T04:26:21.167165Z 01O | ^ 2026-04-13T04:26:21.167168Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.167168Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.167169Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.167169Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.167170Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.167170Z 01O | ^ 2026-04-13T04:26:21.167173Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.167173Z 01O 128 | if (verbose) 2026-04-13T04:26:21.167174Z 01O | ^~~~~~~ 2026-04-13T04:26:21.167174Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.167175Z 01O 128 | if (verbose) 2026-04-13T04:26:21.167175Z 01O | ^ 2026-04-13T04:26:21.167178Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.167178Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.167179Z 01O | ^ 2026-04-13T04:26:21.167256Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.167257Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.167258Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.167258Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.167259Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.167259Z 01O | ^ 2026-04-13T04:26:21.167263Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.167263Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.167264Z 01O | ^ 2026-04-13T04:26:21.167265Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.167265Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.167266Z 01O | ^ 2026-04-13T04:26:21.167270Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.167271Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.167271Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.167272Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.167278Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.167279Z 01O | ^ 2026-04-13T04:26:21.167341Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.167342Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.167343Z 01O | ^ 2026-04-13T04:26:21.167344Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.167344Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.167345Z 01O | ^ 2026-04-13T04:26:21.167349Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.167350Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.167350Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.167351Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.167352Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.167352Z 01O | ^ 2026-04-13T04:26:21.167353Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.167353Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.167354Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.167357Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.167358Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.167358Z 01O | ^ 2026-04-13T04:26:21.167359Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.167360Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.167481Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-04-13T04:26:21.167865Z 01O | ^ 2026-04-13T04:26:21.167868Z 01O /builds/Rdatatable/data.table/src/nafill.c:24:28: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.167869Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-04-13T04:26:21.167870Z 01O | ^ 2026-04-13T04:26:21.167945Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.167946Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.167947Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.167947Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.167948Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.167948Z 01O | ^ 2026-04-13T04:26:21.167950Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.167951Z 01O 128 | if (verbose) 2026-04-13T04:26:21.167952Z 01O | ^~~~~~~ 2026-04-13T04:26:21.167957Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.167958Z 01O 128 | if (verbose) 2026-04-13T04:26:21.167958Z 01O | ^ 2026-04-13T04:26:21.167959Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.167960Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.167960Z 01O | ^ 2026-04-13T04:26:21.167961Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.167961Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.167962Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.167962Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.167963Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.167964Z 01O | ^ 2026-04-13T04:26:21.168073Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168074Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168075Z 01O | ^ 2026-04-13T04:26:21.168075Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.168076Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168076Z 01O | ^ 2026-04-13T04:26:21.168080Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168081Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168082Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.168082Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.168091Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168092Z 01O | ^ 2026-04-13T04:26:21.168092Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168093Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168094Z 01O | ^ 2026-04-13T04:26:21.168143Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.168144Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168144Z 01O | ^ 2026-04-13T04:26:21.168148Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168148Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168149Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.168150Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.168155Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168156Z 01O | ^ 2026-04-13T04:26:21.168166Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.168167Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.168168Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.168168Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.168169Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.168170Z 01O | ^ 2026-04-13T04:26:21.168170Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.168171Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.168293Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-04-13T04:26:21.168620Z 01O | ^ 2026-04-13T04:26:21.168682Z 01O /builds/Rdatatable/data.table/src/nafill.c:31:32: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.168683Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-04-13T04:26:21.168684Z 01O | ^ 2026-04-13T04:26:21.168684Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.168685Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.168685Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.168688Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.168688Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.168689Z 01O | ^ 2026-04-13T04:26:21.168741Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.168742Z 01O 128 | if (verbose) 2026-04-13T04:26:21.168743Z 01O | ^~~~~~~ 2026-04-13T04:26:21.168743Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.168744Z 01O 128 | if (verbose) 2026-04-13T04:26:21.168744Z 01O | ^ 2026-04-13T04:26:21.168745Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.168745Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168746Z 01O | ^ 2026-04-13T04:26:21.168746Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168747Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168748Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.168748Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.168749Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168749Z 01O | ^ 2026-04-13T04:26:21.168845Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168846Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168847Z 01O | ^ 2026-04-13T04:26:21.168849Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.168850Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168850Z 01O | ^ 2026-04-13T04:26:21.168854Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168855Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168855Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.168862Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.168863Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168863Z 01O | ^ 2026-04-13T04:26:21.168864Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168864Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168865Z 01O | ^ 2026-04-13T04:26:21.168953Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.168954Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168955Z 01O | ^ 2026-04-13T04:26:21.168955Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.168956Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.168957Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.168957Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.168958Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.168958Z 01O | ^ 2026-04-13T04:26:21.168963Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.168964Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.168964Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.168965Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.168965Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.168966Z 01O | ^ 2026-04-13T04:26:21.168966Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.168967Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.169078Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-04-13T04:26:21.169543Z 01O | ^ 2026-04-13T04:26:21.169557Z 01O /builds/Rdatatable/data.table/src/nafill.c:36:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.169558Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-04-13T04:26:21.169559Z 01O | ^ 2026-04-13T04:26:21.169559Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.169560Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.169560Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.169561Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.169561Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.169562Z 01O | ^ 2026-04-13T04:26:21.169562Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.169563Z 01O 128 | if (verbose) 2026-04-13T04:26:21.169563Z 01O | ^~~~~~~ 2026-04-13T04:26:21.169564Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.169564Z 01O 128 | if (verbose) 2026-04-13T04:26:21.169565Z 01O | ^ 2026-04-13T04:26:21.169565Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.169566Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.169566Z 01O | ^ 2026-04-13T04:26:21.169634Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.169635Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.169636Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.169647Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.169647Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.169648Z 01O | ^ 2026-04-13T04:26:21.169648Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.169649Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.169650Z 01O | ^ 2026-04-13T04:26:21.169653Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.169653Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.169654Z 01O | ^ 2026-04-13T04:26:21.169655Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.169655Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.169656Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.169732Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.169733Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.169733Z 01O | ^ 2026-04-13T04:26:21.169737Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.169738Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.169739Z 01O | ^ 2026-04-13T04:26:21.169739Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.169740Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.169741Z 01O | ^ 2026-04-13T04:26:21.169741Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.169742Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.169742Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.169745Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.169745Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.169746Z 01O | ^ 2026-04-13T04:26:21.169836Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.169837Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.169837Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.169838Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.169838Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.169839Z 01O | ^ 2026-04-13T04:26:21.169843Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.169844Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.169951Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-04-13T04:26:21.170387Z 01O | ^ 2026-04-13T04:26:21.170397Z 01O /builds/Rdatatable/data.table/src/nafill.c:73:25: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.170398Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-04-13T04:26:21.170399Z 01O | ^ 2026-04-13T04:26:21.170399Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.170400Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.170400Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.170507Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.170516Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.170516Z 01O | ^ 2026-04-13T04:26:21.170517Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.170518Z 01O 128 | if (verbose) 2026-04-13T04:26:21.170518Z 01O | ^~~~~~~ 2026-04-13T04:26:21.170518Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.170519Z 01O 128 | if (verbose) 2026-04-13T04:26:21.170520Z 01O | ^ 2026-04-13T04:26:21.170520Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.170521Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.170521Z 01O | ^ 2026-04-13T04:26:21.170522Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.170522Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.170523Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.170527Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.170527Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.170528Z 01O | ^ 2026-04-13T04:26:21.170531Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.170532Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.170532Z 01O | ^ 2026-04-13T04:26:21.170533Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.170533Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.170534Z 01O | ^ 2026-04-13T04:26:21.170584Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.170585Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.170586Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.170587Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.170587Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.170588Z 01O | ^ 2026-04-13T04:26:21.170588Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.170589Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.170590Z 01O | ^ 2026-04-13T04:26:21.170594Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.170595Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.170595Z 01O | ^ 2026-04-13T04:26:21.170596Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.170597Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.170597Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.170598Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.170598Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.170599Z 01O | ^ 2026-04-13T04:26:21.170599Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.170600Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.170601Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.170601Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.170607Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.170607Z 01O | ^ 2026-04-13T04:26:21.170726Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.170728Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.170798Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-04-13T04:26:21.171108Z 01O | ^ 2026-04-13T04:26:21.171122Z 01O /builds/Rdatatable/data.table/src/nafill.c:76:23: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.171123Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-04-13T04:26:21.171124Z 01O | ^ 2026-04-13T04:26:21.171124Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.171125Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.171125Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.171126Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.171126Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.171127Z 01O | ^ 2026-04-13T04:26:21.171127Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.171128Z 01O 128 | if (verbose) 2026-04-13T04:26:21.171128Z 01O | ^~~~~~~ 2026-04-13T04:26:21.171129Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.171129Z 01O 128 | if (verbose) 2026-04-13T04:26:21.171130Z 01O | ^ 2026-04-13T04:26:21.171130Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.171131Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.171131Z 01O | ^ 2026-04-13T04:26:21.171195Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.171196Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.171197Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.171201Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.171202Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.171203Z 01O | ^ 2026-04-13T04:26:21.171203Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.171204Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.171204Z 01O | ^ 2026-04-13T04:26:21.171205Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.171206Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.171206Z 01O | ^ 2026-04-13T04:26:21.171279Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.171280Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.171281Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.171284Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.171285Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.171286Z 01O | ^ 2026-04-13T04:26:21.171290Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.171291Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.171292Z 01O | ^ 2026-04-13T04:26:21.171292Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.171293Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.171293Z 01O | ^ 2026-04-13T04:26:21.171294Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.171294Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.171295Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.171296Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.171296Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.171297Z 01O | ^ 2026-04-13T04:26:21.171352Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.171353Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.171354Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.171354Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.171355Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.171355Z 01O | ^ 2026-04-13T04:26:21.171355Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.171356Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.171482Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-04-13T04:26:21.171866Z 01O | ^ 2026-04-13T04:26:21.171867Z 01O /builds/Rdatatable/data.table/src/nafill.c:81:26: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.171867Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-04-13T04:26:21.171868Z 01O | ^ 2026-04-13T04:26:21.171869Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.171869Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.171870Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.171870Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.171871Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.171871Z 01O | ^ 2026-04-13T04:26:21.171874Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.171874Z 01O 128 | if (verbose) 2026-04-13T04:26:21.171875Z 01O | ^~~~~~~ 2026-04-13T04:26:21.171875Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.171876Z 01O 128 | if (verbose) 2026-04-13T04:26:21.171876Z 01O | ^ 2026-04-13T04:26:21.171975Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.171976Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.171976Z 01O | ^ 2026-04-13T04:26:21.171981Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.171982Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.171982Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.172000Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.172001Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172001Z 01O | ^ 2026-04-13T04:26:21.172004Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172005Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172006Z 01O | ^ 2026-04-13T04:26:21.172008Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.172009Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172009Z 01O | ^ 2026-04-13T04:26:21.172121Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172122Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172122Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.172123Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.172124Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172124Z 01O | ^ 2026-04-13T04:26:21.172125Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172125Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172126Z 01O | ^ 2026-04-13T04:26:21.172126Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.172127Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172128Z 01O | ^ 2026-04-13T04:26:21.172128Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172129Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172129Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.172130Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.172131Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172131Z 01O | ^ 2026-04-13T04:26:21.172134Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.172134Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.172135Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.172135Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.172136Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.172136Z 01O | ^ 2026-04-13T04:26:21.172205Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.172206Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.172300Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-04-13T04:26:21.172646Z 01O | ^ 2026-04-13T04:26:21.172721Z 01O /builds/Rdatatable/data.table/src/nafill.c:96:38: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.172722Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-04-13T04:26:21.172723Z 01O | ^ 2026-04-13T04:26:21.172731Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.172732Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.172733Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.172733Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.172734Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.172734Z 01O | ^ 2026-04-13T04:26:21.172735Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.172735Z 01O 128 | if (verbose) 2026-04-13T04:26:21.172736Z 01O | ^~~~~~~ 2026-04-13T04:26:21.172742Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.172743Z 01O 128 | if (verbose) 2026-04-13T04:26:21.172744Z 01O | ^ 2026-04-13T04:26:21.172744Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.172745Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172745Z 01O | ^ 2026-04-13T04:26:21.172746Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172746Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172747Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.172748Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.172748Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172749Z 01O | ^ 2026-04-13T04:26:21.172752Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172752Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172753Z 01O | ^ 2026-04-13T04:26:21.172755Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.172756Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172757Z 01O | ^ 2026-04-13T04:26:21.172821Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172822Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172822Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.172826Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.172827Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172827Z 01O | ^ 2026-04-13T04:26:21.172830Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172831Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172832Z 01O | ^ 2026-04-13T04:26:21.172832Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.172833Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172833Z 01O | ^ 2026-04-13T04:26:21.172927Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.172928Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.172929Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.172929Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.172930Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.172930Z 01O | ^ 2026-04-13T04:26:21.172933Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.172934Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.172934Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.172935Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.172935Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.172936Z 01O | ^ 2026-04-13T04:26:21.172938Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.172939Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.173042Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-04-13T04:26:21.173361Z 01O | ^ 2026-04-13T04:26:21.173448Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:36: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.173449Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-04-13T04:26:21.173450Z 01O | ^ 2026-04-13T04:26:21.173450Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.173451Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.173452Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.173452Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.173453Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.173453Z 01O | ^ 2026-04-13T04:26:21.173454Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.173454Z 01O 128 | if (verbose) 2026-04-13T04:26:21.173455Z 01O | ^~~~~~~ 2026-04-13T04:26:21.173455Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.173456Z 01O 128 | if (verbose) 2026-04-13T04:26:21.173456Z 01O | ^ 2026-04-13T04:26:21.173457Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.173457Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.173458Z 01O | ^ 2026-04-13T04:26:21.173532Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.173533Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.173533Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.173534Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.173535Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.173535Z 01O | ^ 2026-04-13T04:26:21.173538Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.173538Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.173547Z 01O | ^ 2026-04-13T04:26:21.173550Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.173551Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.173552Z 01O | ^ 2026-04-13T04:26:21.173553Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.173554Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.173558Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.173584Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.173585Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.173586Z 01O | ^ 2026-04-13T04:26:21.173586Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.173587Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.173588Z 01O | ^ 2026-04-13T04:26:21.173588Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.173589Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.173589Z 01O | ^ 2026-04-13T04:26:21.173590Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.173590Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.173591Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.173592Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.173592Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.173593Z 01O | ^ 2026-04-13T04:26:21.173593Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.173594Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.173594Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.173595Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.173595Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.173596Z 01O | ^ 2026-04-13T04:26:21.173636Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.173637Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.173809Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-04-13T04:26:21.174218Z 01O | ^ 2026-04-13T04:26:21.174284Z 01O /builds/Rdatatable/data.table/src/nafill.c:105:39: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-04-13T04:26:21.174286Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-04-13T04:26:21.174286Z 01O | ^ 2026-04-13T04:26:21.174287Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-04-13T04:26:21.174288Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.174288Z 01O | ^~~~~~~~~~~~~ 2026-04-13T04:26:21.174289Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-04-13T04:26:21.174289Z 01O 124 | if (!xlength(obj)) 2026-04-13T04:26:21.174290Z 01O | ^ 2026-04-13T04:26:21.174290Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-04-13T04:26:21.174291Z 01O 128 | if (verbose) 2026-04-13T04:26:21.174291Z 01O | ^~~~~~~ 2026-04-13T04:26:21.174291Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-04-13T04:26:21.174292Z 01O 128 | if (verbose) 2026-04-13T04:26:21.174293Z 01O | ^ 2026-04-13T04:26:21.174293Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.174294Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.174294Z 01O | ^ 2026-04-13T04:26:21.174295Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.174295Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.174296Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.174364Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.174365Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.174366Z 01O | ^ 2026-04-13T04:26:21.174366Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.174367Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.174368Z 01O | ^ 2026-04-13T04:26:21.174368Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.174369Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.174369Z 01O | ^ 2026-04-13T04:26:21.174370Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.174371Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.174371Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.174378Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-04-13T04:26:21.174378Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.174379Z 01O | ^ 2026-04-13T04:26:21.174456Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.174457Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.174458Z 01O | ^ 2026-04-13T04:26:21.174458Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-04-13T04:26:21.174459Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.174459Z 01O | ^ 2026-04-13T04:26:21.174460Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.174461Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.174461Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.174462Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-04-13T04:26:21.174462Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-04-13T04:26:21.174463Z 01O | ^ 2026-04-13T04:26:21.174463Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-04-13T04:26:21.174464Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.174465Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.174465Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-04-13T04:26:21.174466Z 01O 138 | if (obj_scalar) { 2026-04-13T04:26:21.174466Z 01O | ^ 2026-04-13T04:26:21.174466Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-04-13T04:26:21.174467Z 01O 151 | for (int i=0; i= 'nx' 2026-04-13T04:26:21.174612Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-04-13T04:26:21.174970Z 01O | ^ 2026-04-13T04:26:21.175076Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: warning: Value stored to 'x' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-04-13T04:26:21.175077Z 01O 136 | SEXP x = R_NilValue; 2026-04-13T04:26:21.175077Z 01O | ^ ~~~~~~~~~~ 2026-04-13T04:26:21.175078Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-04-13T04:26:21.175079Z 01O 136 | SEXP x = R_NilValue; 2026-04-13T04:26:21.175079Z 01O | ^ ~~~~~~~~~~ 2026-04-13T04:26:21.175171Z 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-04-13T04:26:21.175172Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-04-13T04:26:21.175173Z 01O | ^ 2026-04-13T04:26:21.175248Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-04-13T04:26:21.175249Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-04-13T04:26:21.175250Z 01O | ^ 2026-04-13T04:26:21.175260Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-04-13T04:26:21.175261Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-04-13T04:26:21.175261Z 01O | ^ 2026-04-13T04:26:21.175262Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-04-13T04:26:21.175262Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-04-13T04:26:21.175263Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175263Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-04-13T04:26:21.175264Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-04-13T04:26:21.175265Z 01O | ^ 2026-04-13T04:26:21.175265Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-04-13T04:26:21.175266Z 01O 131 | if (length(throttle)) { 2026-04-13T04:26:21.175266Z 01O | ^ 2026-04-13T04:26:21.175348Z 01O /usr/local/lib/R/include/Rinternals.h:991:20: note: expanded from macro 'length' 2026-04-13T04:26:21.175349Z 01O 991 | #define length(x) Rf_length(x) 2026-04-13T04:26:21.175350Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.175351Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-04-13T04:26:21.175351Z 01O 131 | if (length(throttle)) { 2026-04-13T04:26:21.175352Z 01O | ^ 2026-04-13T04:26:21.175352Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-04-13T04:26:21.175361Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-04-13T04:26:21.175362Z 01O | ^~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175369Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-04-13T04:26:21.175369Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-04-13T04:26:21.175370Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-04-13T04:26:21.175371Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175371Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-04-13T04:26:21.175372Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-04-13T04:26:21.175372Z 01O | ^ 2026-04-13T04:26:21.175373Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-04-13T04:26:21.175373Z 01O 138 | initDTthreads(); 2026-04-13T04:26:21.175374Z 01O | ^~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175374Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-04-13T04:26:21.175375Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-04-13T04:26:21.175375Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175376Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-04-13T04:26:21.175377Z 01O 14 | const char *val = getenv(name); 2026-04-13T04:26:21.175377Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.175378Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-04-13T04:26:21.175378Z 01O 14 | const char *val = getenv(name); 2026-04-13T04:26:21.175379Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.175440Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-04-13T04:26:21.175441Z 01O 14 | const char *val = getenv(name); 2026-04-13T04:26:21.175442Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.175447Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-04-13T04:26:21.175447Z 01O 15 | if (val == NULL) return def; 2026-04-13T04:26:21.175448Z 01O | ^~~ 2026-04-13T04:26:21.175448Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-04-13T04:26:21.175449Z 01O 15 | if (val == NULL) return def; 2026-04-13T04:26:21.175449Z 01O | ^ 2026-04-13T04:26:21.175450Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-04-13T04:26:21.175450Z 01O 17 | if (nchar == 0) return def; 2026-04-13T04:26:21.175451Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.175451Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-04-13T04:26:21.175452Z 01O 17 | if (nchar == 0) return def; 2026-04-13T04:26:21.175453Z 01O | ^ 2026-04-13T04:26:21.175453Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-04-13T04:26:21.175454Z 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-04-13T04:26:21.175454Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175522Z 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-04-13T04:26:21.175523Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-04-13T04:26:21.175524Z 01O | ^ 2026-04-13T04:26:21.175526Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-04-13T04:26:21.175527Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-04-13T04:26:21.175533Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175537Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-04-13T04:26:21.175538Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-04-13T04:26:21.175538Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175650Z 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-04-13T04:26:21.175651Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-04-13T04:26:21.175652Z 01O | ^ ~~~~~ 2026-04-13T04:26:21.175653Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-04-13T04:26:21.175654Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-04-13T04:26:21.175655Z 01O | ^ 2026-04-13T04:26:21.175691Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.175692Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.175693Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-04-13T04:26:21.175694Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-04-13T04:26:21.175695Z 01O | ^ 2026-04-13T04:26:21.175695Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.175696Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.175696Z 01O | ^ 2026-04-13T04:26:21.175738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-04-13T04:26:21.175739Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-04-13T04:26:21.175739Z 01O | ^ 2026-04-13T04:26:21.175740Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.175740Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.175741Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.175742Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-04-13T04:26:21.175742Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-04-13T04:26:21.175743Z 01O | ^ 2026-04-13T04:26:21.175743Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.175744Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.175745Z 01O | ^ 2026-04-13T04:26:21.175745Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-04-13T04:26:21.175746Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-04-13T04:26:21.175746Z 01O | ^ 2026-04-13T04:26:21.175834Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.175835Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.175836Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175842Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-04-13T04:26:21.175842Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-04-13T04:26:21.175843Z 01O | ^ 2026-04-13T04:26:21.175843Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-04-13T04:26:21.175850Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-04-13T04:26:21.175851Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175851Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-04-13T04:26:21.175852Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-04-13T04:26:21.175853Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-04-13T04:26:21.175853Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175854Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-04-13T04:26:21.175854Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-04-13T04:26:21.175855Z 01O | ^ 2026-04-13T04:26:21.175952Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-04-13T04:26:21.175953Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-04-13T04:26:21.175953Z 01O | ^ 2026-04-13T04:26:21.175954Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.175955Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.175955Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.175959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-04-13T04:26:21.175959Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-04-13T04:26:21.175960Z 01O | ^ 2026-04-13T04:26:21.175960Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.175961Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.175962Z 01O | ^ 2026-04-13T04:26:21.175964Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-04-13T04:26:21.175965Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-04-13T04:26:21.175966Z 01O | ^ 2026-04-13T04:26:21.176072Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.176073Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.176074Z 01O | ^~~~~~~~~~~~ 2026-04-13T04:26:21.176075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-04-13T04:26:21.176075Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-04-13T04:26:21.176076Z 01O | ^ 2026-04-13T04:26:21.176076Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.176077Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.176077Z 01O | ^ 2026-04-13T04:26:21.176080Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-04-13T04:26:21.176081Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-04-13T04:26:21.176081Z 01O | ^ 2026-04-13T04:26:21.176174Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-04-13T04:26:21.176175Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-04-13T04:26:21.176175Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.176176Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-04-13T04:26:21.176177Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-04-13T04:26:21.176186Z 01O | ^ 2026-04-13T04:26:21.176189Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-04-13T04:26:21.176190Z 01O 13 | if (!length(l)) return(l); 2026-04-13T04:26:21.176190Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.176191Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-04-13T04:26:21.176192Z 01O 13 | if (!length(l)) return(l); 2026-04-13T04:26:21.176192Z 01O | ^ 2026-04-13T04:26:21.176195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-04-13T04:26:21.176196Z 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-04-13T04:26:21.176197Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.176197Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-04-13T04:26:21.176198Z 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-04-13T04:26:21.176199Z 01O | ^ 2026-04-13T04:26:21.176199Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-04-13T04:26:21.176200Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-04-13T04:26:21.176200Z 01O | ^~~~ 2026-04-13T04:26:21.176261Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-04-13T04:26:21.176262Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-04-13T04:26:21.176263Z 01O | ^ 2026-04-13T04:26:21.176263Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-04-13T04:26:21.176264Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-04-13T04:26:21.176264Z 01O | ^~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.176265Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-04-13T04:26:21.176266Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-04-13T04:26:21.176266Z 01O | ^~~~~ 2026-04-13T04:26:21.176270Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-04-13T04:26:21.176271Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-04-13T04:26:21.176272Z 01O | ^ 2026-04-13T04:26:21.176272Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-04-13T04:26:21.176273Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.176274Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.176346Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.176347Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.176347Z 01O | ^ 2026-04-13T04:26:21.176349Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-04-13T04:26:21.176350Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.176351Z 01O | ^ 2026-04-13T04:26:21.176353Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.176353Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.176354Z 01O | ^ 2026-04-13T04:26:21.176355Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-04-13T04:26:21.176355Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.176356Z 01O | ^ 2026-04-13T04:26:21.176358Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-04-13T04:26:21.176364Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.176365Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.176367Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-04-13T04:26:21.176368Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.176369Z 01O | ^ 2026-04-13T04:26:21.176439Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-04-13T04:26:21.176440Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.176440Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.176441Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-04-13T04:26:21.176441Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.176442Z 01O | ^ 2026-04-13T04:26:21.176442Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-04-13T04:26:21.176443Z 01O 37 | if (fill) { 2026-04-13T04:26:21.176443Z 01O | ^~~~ 2026-04-13T04:26:21.176444Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-04-13T04:26:21.176444Z 01O 37 | if (fill) { 2026-04-13T04:26:21.176445Z 01O | ^ 2026-04-13T04:26:21.176445Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-04-13T04:26:21.176446Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.176446Z 01O | ^~~~ 2026-04-13T04:26:21.176447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-04-13T04:26:21.176448Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.176448Z 01O | ^ 2026-04-13T04:26:21.176449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-04-13T04:26:21.176449Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.176450Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.176518Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-04-13T04:26:21.176519Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.176520Z 01O | ^ 2026-04-13T04:26:21.176520Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-04-13T04:26:21.176521Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.176521Z 01O | ^~~~~~ 2026-04-13T04:26:21.176522Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-04-13T04:26:21.176522Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.176523Z 01O | ^ 2026-04-13T04:26:21.176526Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-04-13T04:26:21.176527Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.176528Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.176528Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-04-13T04:26:21.176529Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.176530Z 01O | ^ 2026-04-13T04:26:21.176530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-04-13T04:26:21.176531Z 01O 49 | for (int j=0; j0 checked above 2026-04-13T04:26:21.176596Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.176596Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-04-13T04:26:21.176597Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.176597Z 01O | ^ 2026-04-13T04:26:21.176624Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-04-13T04:26:21.176625Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.176626Z 01O | ^~~~~~~ 2026-04-13T04:26:21.176626Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-04-13T04:26:21.176627Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.176627Z 01O | ^ 2026-04-13T04:26:21.176628Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-04-13T04:26:21.176629Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.176629Z 01O | ^~~~ 2026-04-13T04:26:21.176630Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-04-13T04:26:21.176630Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-04-13T04:26:21.176631Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.176631Z 01O | ^~~~ 2026-04-13T04:26:21.176632Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-04-13T04:26:21.176632Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.176633Z 01O | ^ 2026-04-13T04:26:21.176696Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-04-13T04:26:21.176698Z 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-04-13T04:26:21.176698Z 01O | ^~~~ 2026-04-13T04:26:21.176701Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-04-13T04:26:21.176702Z 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-04-13T04:26:21.176703Z 01O | ^ 2026-04-13T04:26:21.176756Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-04-13T04:26:21.176757Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.176758Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.176758Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-04-13T04:26:21.176759Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.176760Z 01O | ^ 2026-04-13T04:26:21.176762Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-04-13T04:26:21.176763Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.176763Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.176764Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-04-13T04:26:21.176833Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-04-13T04:26:21.176834Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.176835Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.176847Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-04-13T04:26:21.176847Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.176848Z 01O | ^ 2026-04-13T04:26:21.176850Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-04-13T04:26:21.176851Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-04-13T04:26:21.176851Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.176966Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-04-13T04:26:21.176968Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-04-13T04:26:21.176968Z 01O | ^ 2026-04-13T04:26:21.176969Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-04-13T04:26:21.176969Z 01O 83 | int nuniq=0; 2026-04-13T04:26:21.176970Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.176970Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-04-13T04:26:21.176971Z 01O 85 | for (int i=0; i0 checked above 2026-04-13T04:26:21.177608Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.177611Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.177611Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.177612Z 01O | ^ 2026-04-13T04:26:21.177700Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-04-13T04:26:21.177701Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.177702Z 01O | ^ 2026-04-13T04:26:21.177702Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.177703Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.177703Z 01O | ^ 2026-04-13T04:26:21.177704Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-04-13T04:26:21.177704Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.177705Z 01O | ^ 2026-04-13T04:26:21.177708Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-04-13T04:26:21.177708Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.177709Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.177710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-04-13T04:26:21.177710Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.177711Z 01O | ^ 2026-04-13T04:26:21.177713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-04-13T04:26:21.177714Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.177714Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.177715Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-04-13T04:26:21.177715Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.177716Z 01O | ^ 2026-04-13T04:26:21.177795Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-04-13T04:26:21.177796Z 01O 37 | if (fill) { 2026-04-13T04:26:21.177796Z 01O | ^~~~ 2026-04-13T04:26:21.177797Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-04-13T04:26:21.177797Z 01O 37 | if (fill) { 2026-04-13T04:26:21.177798Z 01O | ^ 2026-04-13T04:26:21.177798Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-04-13T04:26:21.177799Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.177799Z 01O | ^~~~ 2026-04-13T04:26:21.177800Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-04-13T04:26:21.177800Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.177801Z 01O | ^ 2026-04-13T04:26:21.177804Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-04-13T04:26:21.177805Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.177806Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.177806Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-04-13T04:26:21.177807Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.177814Z 01O | ^ 2026-04-13T04:26:21.177816Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-04-13T04:26:21.177816Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.177817Z 01O | ^~~~~~ 2026-04-13T04:26:21.177880Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-04-13T04:26:21.177881Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.177882Z 01O | ^ 2026-04-13T04:26:21.177882Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-04-13T04:26:21.177883Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.177883Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.177884Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-04-13T04:26:21.177885Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.177885Z 01O | ^ 2026-04-13T04:26:21.177886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-04-13T04:26:21.177886Z 01O 49 | for (int j=0; j0 checked above 2026-04-13T04:26:21.177893Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.178019Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-04-13T04:26:21.178020Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.178021Z 01O | ^ 2026-04-13T04:26:21.178021Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-04-13T04:26:21.178022Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.178022Z 01O | ^~~~~~~ 2026-04-13T04:26:21.178023Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-04-13T04:26:21.178023Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.178024Z 01O | ^ 2026-04-13T04:26:21.178024Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-04-13T04:26:21.178025Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.178026Z 01O | ^~~~ 2026-04-13T04:26:21.178026Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-04-13T04:26:21.178027Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-04-13T04:26:21.178027Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.178028Z 01O | ^~~~ 2026-04-13T04:26:21.178028Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-04-13T04:26:21.178029Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.178029Z 01O | ^ 2026-04-13T04:26:21.178065Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-04-13T04:26:21.178066Z 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-04-13T04:26:21.178067Z 01O | ^~~~ 2026-04-13T04:26:21.178094Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-04-13T04:26:21.178095Z 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-04-13T04:26:21.178097Z 01O | ^ 2026-04-13T04:26:21.178098Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-04-13T04:26:21.178099Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.178100Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.178101Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-04-13T04:26:21.178102Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.178103Z 01O | ^ 2026-04-13T04:26:21.178103Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-04-13T04:26:21.178104Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.178104Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.178105Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-04-13T04:26:21.178113Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-04-13T04:26:21.178113Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.178114Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.178115Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-04-13T04:26:21.178115Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.178116Z 01O | ^ 2026-04-13T04:26:21.178118Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-04-13T04:26:21.178119Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-04-13T04:26:21.178119Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.178195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-04-13T04:26:21.178196Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-04-13T04:26:21.178197Z 01O | ^ 2026-04-13T04:26:21.178197Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-04-13T04:26:21.178198Z 01O 85 | for (int i=0; i= 'thisncol' 2026-04-13T04:26:21.178390Z 01O 92 | for (int j=0; j 'ncol' 2026-04-13T04:26:21.178591Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-04-13T04:26:21.178592Z 01O | ^~~~~~ 2026-04-13T04:26:21.178594Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-04-13T04:26:21.178595Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-04-13T04:26:21.178596Z 01O | ^ 2026-04-13T04:26:21.178596Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-04-13T04:26:21.178597Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-04-13T04:26:21.178597Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.178678Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-04-13T04:26:21.178679Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-04-13T04:26:21.178679Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.178683Z 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-04-13T04:26:21.178684Z 01O 153 | for (int j=0; j0 checked above 2026-04-13T04:26:21.179297Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.179300Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.179300Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.179301Z 01O | ^ 2026-04-13T04:26:21.179301Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-04-13T04:26:21.179302Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.179303Z 01O | ^ 2026-04-13T04:26:21.179303Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.179304Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.179304Z 01O | ^ 2026-04-13T04:26:21.179417Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-04-13T04:26:21.179418Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.179418Z 01O | ^ 2026-04-13T04:26:21.179419Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-04-13T04:26:21.179419Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.179420Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.179421Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-04-13T04:26:21.179421Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.179422Z 01O | ^ 2026-04-13T04:26:21.179422Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-04-13T04:26:21.179423Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.179423Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.179424Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-04-13T04:26:21.179425Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.179425Z 01O | ^ 2026-04-13T04:26:21.179426Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-04-13T04:26:21.179426Z 01O 37 | if (fill) { 2026-04-13T04:26:21.179427Z 01O | ^~~~ 2026-04-13T04:26:21.179427Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-04-13T04:26:21.179428Z 01O 37 | if (fill) { 2026-04-13T04:26:21.179434Z 01O | ^ 2026-04-13T04:26:21.179437Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-04-13T04:26:21.179438Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.179438Z 01O | ^~~~ 2026-04-13T04:26:21.179439Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-04-13T04:26:21.179439Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.179440Z 01O | ^ 2026-04-13T04:26:21.179443Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-04-13T04:26:21.179443Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.179444Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.179447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-04-13T04:26:21.179448Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.179449Z 01O | ^ 2026-04-13T04:26:21.179449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-04-13T04:26:21.179450Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.179450Z 01O | ^~~~~~ 2026-04-13T04:26:21.179451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-04-13T04:26:21.179451Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.179452Z 01O | ^ 2026-04-13T04:26:21.179507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-04-13T04:26:21.179508Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.179510Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.179510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-04-13T04:26:21.179511Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.179512Z 01O | ^ 2026-04-13T04:26:21.179519Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-04-13T04:26:21.179520Z 01O 49 | for (int j=0; j0 checked above 2026-04-13T04:26:21.179524Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.179524Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-04-13T04:26:21.179525Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.179526Z 01O | ^ 2026-04-13T04:26:21.179606Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-04-13T04:26:21.179607Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.179607Z 01O | ^~~~~~~ 2026-04-13T04:26:21.179608Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-04-13T04:26:21.179608Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.179609Z 01O | ^ 2026-04-13T04:26:21.179609Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-04-13T04:26:21.179615Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.179616Z 01O | ^~~~ 2026-04-13T04:26:21.179616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-04-13T04:26:21.179619Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-04-13T04:26:21.179620Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.179621Z 01O | ^~~~ 2026-04-13T04:26:21.179621Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-04-13T04:26:21.179622Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.179622Z 01O | ^ 2026-04-13T04:26:21.179711Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-04-13T04:26:21.179713Z 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-04-13T04:26:21.179714Z 01O | ^~~~ 2026-04-13T04:26:21.179719Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-04-13T04:26:21.179720Z 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-04-13T04:26:21.179721Z 01O | ^ 2026-04-13T04:26:21.179722Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-04-13T04:26:21.179723Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.179724Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.179738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-04-13T04:26:21.179739Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.179740Z 01O | ^ 2026-04-13T04:26:21.179740Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-04-13T04:26:21.179741Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.179741Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.179742Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-04-13T04:26:21.179742Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-04-13T04:26:21.179743Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.179744Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.179744Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-04-13T04:26:21.179745Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.179745Z 01O | ^ 2026-04-13T04:26:21.179806Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-04-13T04:26:21.179811Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-04-13T04:26:21.179812Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.179818Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-04-13T04:26:21.179819Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-04-13T04:26:21.179819Z 01O | ^ 2026-04-13T04:26:21.179820Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-04-13T04:26:21.179820Z 01O 85 | for (int i=0; i= 'thisncol' 2026-04-13T04:26:21.180026Z 01O 92 | for (int j=0; j= 'thisncol' 2026-04-13T04:26:21.180270Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-04-13T04:26:21.180290Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.180290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-04-13T04:26:21.180291Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-04-13T04:26:21.180292Z 01O | ^ 2026-04-13T04:26:21.180292Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-04-13T04:26:21.180293Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-04-13T04:26:21.180426Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.180428Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-04-13T04:26:21.180429Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-04-13T04:26:21.180429Z 01O | ^ 2026-04-13T04:26:21.180431Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-04-13T04:26:21.180432Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.180433Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.180433Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-04-13T04:26:21.180435Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-04-13T04:26:21.180436Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.180436Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.180505Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-04-13T04:26:21.180506Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.180506Z 01O | ^ 2026-04-13T04:26:21.180507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-04-13T04:26:21.180507Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.180508Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.180508Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-04-13T04:26:21.180509Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.180510Z 01O | ^ 2026-04-13T04:26:21.180510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-04-13T04:26:21.180511Z 01O 142 | for (int i=0; i= 'ncol' 2026-04-13T04:26:21.180523Z 01O 143 | for (int i=0; i0 checked above 2026-04-13T04:26:21.181444Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.181453Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.181454Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.181454Z 01O | ^ 2026-04-13T04:26:21.181455Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-04-13T04:26:21.181455Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.181456Z 01O | ^ 2026-04-13T04:26:21.181456Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.181457Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.181457Z 01O | ^ 2026-04-13T04:26:21.181458Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-04-13T04:26:21.181459Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.181459Z 01O | ^ 2026-04-13T04:26:21.181505Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-04-13T04:26:21.181507Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.181515Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.181523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-04-13T04:26:21.181524Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.181525Z 01O | ^ 2026-04-13T04:26:21.181525Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-04-13T04:26:21.181526Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.181527Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.181566Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-04-13T04:26:21.181567Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.181568Z 01O | ^ 2026-04-13T04:26:21.181576Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-04-13T04:26:21.181576Z 01O 37 | if (fill) { 2026-04-13T04:26:21.181577Z 01O | ^~~~ 2026-04-13T04:26:21.181577Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-04-13T04:26:21.181578Z 01O 37 | if (fill) { 2026-04-13T04:26:21.181578Z 01O | ^ 2026-04-13T04:26:21.181634Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-04-13T04:26:21.181635Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.181636Z 01O | ^~~~ 2026-04-13T04:26:21.181675Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-04-13T04:26:21.181676Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.181677Z 01O | ^ 2026-04-13T04:26:21.181677Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-04-13T04:26:21.181678Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.181678Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.181741Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-04-13T04:26:21.181742Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.181742Z 01O | ^ 2026-04-13T04:26:21.181745Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-04-13T04:26:21.181745Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.181746Z 01O | ^~~~~~ 2026-04-13T04:26:21.181746Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-04-13T04:26:21.181747Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.181748Z 01O | ^ 2026-04-13T04:26:21.181843Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-04-13T04:26:21.181844Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.181845Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.181847Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-04-13T04:26:21.181848Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.181849Z 01O | ^ 2026-04-13T04:26:21.181851Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-04-13T04:26:21.181852Z 01O 49 | for (int j=0; j0 checked above 2026-04-13T04:26:21.181862Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.181963Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-04-13T04:26:21.181964Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.181964Z 01O | ^ 2026-04-13T04:26:21.181965Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-04-13T04:26:21.181965Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.181966Z 01O | ^~~~~~~ 2026-04-13T04:26:21.181969Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-04-13T04:26:21.181970Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.181971Z 01O | ^ 2026-04-13T04:26:21.181971Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-04-13T04:26:21.181972Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.181972Z 01O | ^~~~ 2026-04-13T04:26:21.181973Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-04-13T04:26:21.181976Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-04-13T04:26:21.181977Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.181977Z 01O | ^~~~ 2026-04-13T04:26:21.181978Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-04-13T04:26:21.181979Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.181979Z 01O | ^ 2026-04-13T04:26:21.181979Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-04-13T04:26:21.181980Z 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-04-13T04:26:21.181981Z 01O | ^~~~ 2026-04-13T04:26:21.182090Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-04-13T04:26:21.182091Z 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-04-13T04:26:21.182092Z 01O | ^ 2026-04-13T04:26:21.182095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-04-13T04:26:21.182096Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.182097Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.182097Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-04-13T04:26:21.182098Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.182099Z 01O | ^ 2026-04-13T04:26:21.182099Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-04-13T04:26:21.182100Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.182100Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.182101Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-04-13T04:26:21.182102Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-04-13T04:26:21.182102Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.182103Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.182105Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-04-13T04:26:21.182114Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.182114Z 01O | ^ 2026-04-13T04:26:21.182118Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-04-13T04:26:21.182118Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-04-13T04:26:21.182119Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.182119Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-04-13T04:26:21.182120Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-04-13T04:26:21.182121Z 01O | ^ 2026-04-13T04:26:21.182121Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-04-13T04:26:21.182122Z 01O 85 | for (int i=0; i= 'thisncol' 2026-04-13T04:26:21.182339Z 01O 92 | for (int j=0; j= 'thisncol' 2026-04-13T04:26:21.182495Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-04-13T04:26:21.182503Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.182505Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-04-13T04:26:21.182506Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-04-13T04:26:21.182506Z 01O | ^ 2026-04-13T04:26:21.182507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-04-13T04:26:21.182507Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-04-13T04:26:21.182572Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.182572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-04-13T04:26:21.182573Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-04-13T04:26:21.182573Z 01O | ^ 2026-04-13T04:26:21.182576Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-04-13T04:26:21.182576Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.182577Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.182577Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-04-13T04:26:21.182578Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-04-13T04:26:21.182579Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.182579Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.182654Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-04-13T04:26:21.182662Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.182662Z 01O | ^ 2026-04-13T04:26:21.182665Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-04-13T04:26:21.182665Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.182666Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.182669Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-04-13T04:26:21.182670Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-04-13T04:26:21.182670Z 01O | ^ 2026-04-13T04:26:21.182671Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-04-13T04:26:21.182671Z 01O 142 | for (int i=0; i= 'ncol' 2026-04-13T04:26:21.182675Z 01O 143 | for (int i=0; i0 checked above 2026-04-13T04:26:21.183637Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.183640Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.183640Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.183641Z 01O | ^ 2026-04-13T04:26:21.183641Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-04-13T04:26:21.183642Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.183643Z 01O | ^ 2026-04-13T04:26:21.183699Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.183700Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.183701Z 01O | ^ 2026-04-13T04:26:21.183703Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-04-13T04:26:21.183704Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.183704Z 01O | ^ 2026-04-13T04:26:21.183705Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-04-13T04:26:21.183706Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.183706Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.183710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-04-13T04:26:21.183710Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.183711Z 01O | ^ 2026-04-13T04:26:21.183711Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-04-13T04:26:21.183712Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.183713Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.183713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-04-13T04:26:21.183714Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.183714Z 01O | ^ 2026-04-13T04:26:21.183715Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-04-13T04:26:21.183715Z 01O 37 | if (fill) { 2026-04-13T04:26:21.183716Z 01O | ^~~~ 2026-04-13T04:26:21.183716Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-04-13T04:26:21.183717Z 01O 37 | if (fill) { 2026-04-13T04:26:21.183717Z 01O | ^ 2026-04-13T04:26:21.183787Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-04-13T04:26:21.183788Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.183789Z 01O | ^~~~ 2026-04-13T04:26:21.183791Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-04-13T04:26:21.183792Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.183793Z 01O | ^ 2026-04-13T04:26:21.183820Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-04-13T04:26:21.183821Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.183822Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.183822Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-04-13T04:26:21.183831Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.183832Z 01O | ^ 2026-04-13T04:26:21.183832Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-04-13T04:26:21.183833Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.183833Z 01O | ^~~~~~ 2026-04-13T04:26:21.183872Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-04-13T04:26:21.183873Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.183874Z 01O | ^ 2026-04-13T04:26:21.183877Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-04-13T04:26:21.183878Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.183879Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.183879Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.183880Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.183880Z 01O | ^ 2026-04-13T04:26:21.183927Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-04-13T04:26:21.183928Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.183928Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.183931Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-04-13T04:26:21.183932Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.183932Z 01O | ^ 2026-04-13T04:26:21.184021Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-04-13T04:26:21.184023Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.184023Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.184024Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-04-13T04:26:21.184025Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.184025Z 01O | ^ 2026-04-13T04:26:21.184027Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.184028Z 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-04-13T04:26:21.184130Z 01O | ^~~~ 2026-04-13T04:26:21.184131Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-04-13T04:26:21.184131Z 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-04-13T04:26:21.184132Z 01O | ^ 2026-04-13T04:26:21.184133Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-04-13T04:26:21.184142Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-04-13T04:26:21.184142Z 01O | ^~~~~ 2026-04-13T04:26:21.184143Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-04-13T04:26:21.184144Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-04-13T04:26:21.184144Z 01O | ^ 2026-04-13T04:26:21.184145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-04-13T04:26:21.184145Z 01O 49 | for (int j=0; j0 checked above 2026-04-13T04:26:21.184200Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.184204Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-04-13T04:26:21.184205Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.184206Z 01O | ^ 2026-04-13T04:26:21.184206Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-04-13T04:26:21.184207Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.184207Z 01O | ^~~~~~~ 2026-04-13T04:26:21.184208Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-04-13T04:26:21.184208Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.184209Z 01O | ^ 2026-04-13T04:26:21.184209Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-04-13T04:26:21.184210Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.184210Z 01O | ^~~~ 2026-04-13T04:26:21.184211Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-04-13T04:26:21.184212Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-04-13T04:26:21.184212Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.184213Z 01O | ^~~~ 2026-04-13T04:26:21.184213Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-04-13T04:26:21.184214Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.184214Z 01O | ^ 2026-04-13T04:26:21.184310Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-04-13T04:26:21.184311Z 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-04-13T04:26:21.184311Z 01O | ^~~~ 2026-04-13T04:26:21.184315Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-04-13T04:26:21.184316Z 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-04-13T04:26:21.184317Z 01O | ^ 2026-04-13T04:26:21.184317Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-04-13T04:26:21.184318Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.184318Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.184319Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-04-13T04:26:21.184320Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.184320Z 01O | ^ 2026-04-13T04:26:21.184435Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-04-13T04:26:21.184443Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-04-13T04:26:21.184443Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.184448Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-04-13T04:26:21.184448Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.184449Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.184450Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-04-13T04:26:21.184450Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-04-13T04:26:21.184451Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.184451Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.184452Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-04-13T04:26:21.184453Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.184453Z 01O | ^ 2026-04-13T04:26:21.184454Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-04-13T04:26:21.184454Z 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-04-13T04:26:21.184455Z 01O | ^~~~ 2026-04-13T04:26:21.184457Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-04-13T04:26:21.184458Z 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-04-13T04:26:21.184459Z 01O | ^ 2026-04-13T04:26:21.184530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-04-13T04:26:21.184531Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.184532Z 01O | ^~~~ 2026-04-13T04:26:21.184535Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-04-13T04:26:21.184536Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.184536Z 01O | ^ 2026-04-13T04:26:21.184537Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-04-13T04:26:21.184537Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.184538Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.184539Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-04-13T04:26:21.184541Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-04-13T04:26:21.184542Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.184543Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.184543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-04-13T04:26:21.184544Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.184544Z 01O | ^ 2026-04-13T04:26:21.184546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-04-13T04:26:21.184547Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-04-13T04:26:21.184547Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.184549Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-04-13T04:26:21.184550Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-04-13T04:26:21.184551Z 01O | ^ 2026-04-13T04:26:21.184551Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-04-13T04:26:21.184552Z 01O 251 | if (idcol) { 2026-04-13T04:26:21.184552Z 01O | ^~~~~ 2026-04-13T04:26:21.184560Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-04-13T04:26:21.184561Z 01O 251 | if (idcol) { 2026-04-13T04:26:21.184561Z 01O | ^ 2026-04-13T04:26:21.184563Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.184564Z 01O 276 | for(int j=0; j0 checked above 2026-04-13T04:26:21.185394Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.185395Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.185395Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.185396Z 01O | ^ 2026-04-13T04:26:21.185480Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-04-13T04:26:21.185481Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.185482Z 01O | ^ 2026-04-13T04:26:21.185486Z 01O /usr/local/lib/R/include/Rinternals.h:960:18: note: expanded from macro 'isNull' 2026-04-13T04:26:21.185487Z 01O 960 | #define isNull Rf_isNull 2026-04-13T04:26:21.185487Z 01O | ^ 2026-04-13T04:26:21.185488Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-04-13T04:26:21.185489Z 01O 32 | if (isNull(li)) continue; 2026-04-13T04:26:21.185489Z 01O | ^ 2026-04-13T04:26:21.185490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-04-13T04:26:21.185490Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.185491Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.185491Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-04-13T04:26:21.185492Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-04-13T04:26:21.185493Z 01O | ^ 2026-04-13T04:26:21.185493Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-04-13T04:26:21.185494Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.185494Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.185495Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-04-13T04:26:21.185495Z 01O 35 | if (!thisncol) continue; 2026-04-13T04:26:21.185496Z 01O | ^ 2026-04-13T04:26:21.185496Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-04-13T04:26:21.185497Z 01O 37 | if (fill) { 2026-04-13T04:26:21.185497Z 01O | ^~~~ 2026-04-13T04:26:21.185498Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-04-13T04:26:21.185498Z 01O 37 | if (fill) { 2026-04-13T04:26:21.185499Z 01O | ^ 2026-04-13T04:26:21.185579Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-04-13T04:26:21.185580Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.185580Z 01O | ^~~~ 2026-04-13T04:26:21.185582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-04-13T04:26:21.185583Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-04-13T04:26:21.185601Z 01O | ^ 2026-04-13T04:26:21.185606Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-04-13T04:26:21.185607Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.185607Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.185608Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-04-13T04:26:21.185608Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-04-13T04:26:21.185609Z 01O | ^ 2026-04-13T04:26:21.185610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-04-13T04:26:21.185610Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.185611Z 01O | ^~~~~~ 2026-04-13T04:26:21.185611Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-04-13T04:26:21.185612Z 01O 45 | if (nNames>0) anyNames=true; 2026-04-13T04:26:21.185612Z 01O | ^ 2026-04-13T04:26:21.185615Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-04-13T04:26:21.185616Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.185617Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.185617Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.185618Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.185619Z 01O | ^ 2026-04-13T04:26:21.185684Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-04-13T04:26:21.185686Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.185686Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.185687Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-04-13T04:26:21.185688Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.185688Z 01O | ^ 2026-04-13T04:26:21.185689Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-04-13T04:26:21.185690Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.185690Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.185693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-04-13T04:26:21.185694Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-04-13T04:26:21.185695Z 01O | ^ 2026-04-13T04:26:21.185695Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.185696Z 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-04-13T04:26:21.185781Z 01O | ^~~~ 2026-04-13T04:26:21.185781Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-04-13T04:26:21.185788Z 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-04-13T04:26:21.185789Z 01O | ^ 2026-04-13T04:26:21.185789Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-04-13T04:26:21.185790Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-04-13T04:26:21.185790Z 01O | ^~~~~ 2026-04-13T04:26:21.185791Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-04-13T04:26:21.185791Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-04-13T04:26:21.185792Z 01O | ^ 2026-04-13T04:26:21.185826Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-04-13T04:26:21.185827Z 01O 49 | for (int j=0; j0 checked above 2026-04-13T04:26:21.185831Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.185833Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-04-13T04:26:21.185834Z 01O 29 | for (int i=0; i0 checked above 2026-04-13T04:26:21.185834Z 01O | ^ 2026-04-13T04:26:21.185838Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-04-13T04:26:21.185842Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.185843Z 01O | ^~~~~~~ 2026-04-13T04:26:21.185848Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-04-13T04:26:21.185849Z 01O 57 | if (numZero) { // #1871 2026-04-13T04:26:21.185850Z 01O | ^ 2026-04-13T04:26:21.185851Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-04-13T04:26:21.185852Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.185853Z 01O | ^~~~ 2026-04-13T04:26:21.185860Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-04-13T04:26:21.185861Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-04-13T04:26:21.185862Z 01O | ^ 2026-04-13T04:26:21.185894Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-04-13T04:26:21.185895Z 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-04-13T04:26:21.185896Z 01O | ^~~~ 2026-04-13T04:26:21.185952Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-04-13T04:26:21.185952Z 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-04-13T04:26:21.185953Z 01O | ^ 2026-04-13T04:26:21.185954Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-04-13T04:26:21.185954Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.185955Z 01O | ^~~~~~~~~~~~~~ 2026-04-13T04:26:21.185992Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-04-13T04:26:21.185993Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-04-13T04:26:21.186002Z 01O | ^ 2026-04-13T04:26:21.186041Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-04-13T04:26:21.186042Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-04-13T04:26:21.186043Z 01O | ^~~~~~~~~~~ 2026-04-13T04:26:21.186043Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-04-13T04:26:21.186044Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.186045Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.186045Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-04-13T04:26:21.186046Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-04-13T04:26:21.186046Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.186047Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.186048Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-04-13T04:26:21.186048Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-04-13T04:26:21.186049Z 01O | ^ 2026-04-13T04:26:21.186141Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-04-13T04:26:21.186142Z 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-04-13T04:26:21.186143Z 01O | ^~~~ 2026-04-13T04:26:21.186146Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-04-13T04:26:21.186147Z 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-04-13T04:26:21.186148Z 01O | ^ 2026-04-13T04:26:21.186148Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-04-13T04:26:21.186149Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.186150Z 01O | ^~~~ 2026-04-13T04:26:21.186150Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-04-13T04:26:21.186151Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.186151Z 01O | ^ 2026-04-13T04:26:21.186240Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-04-13T04:26:21.186241Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.186241Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.186242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-04-13T04:26:21.186242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-04-13T04:26:21.186243Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.186243Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.186248Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-04-13T04:26:21.186249Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-04-13T04:26:21.186249Z 01O | ^ 2026-04-13T04:26:21.186250Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-04-13T04:26:21.186250Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-04-13T04:26:21.186251Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.186251Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-04-13T04:26:21.186252Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-04-13T04:26:21.186252Z 01O | ^ 2026-04-13T04:26:21.186253Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-04-13T04:26:21.186259Z 01O 251 | if (idcol) { 2026-04-13T04:26:21.186259Z 01O | ^~~~~ 2026-04-13T04:26:21.186260Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-04-13T04:26:21.186261Z 01O 251 | if (idcol) { 2026-04-13T04:26:21.186261Z 01O | ^ 2026-04-13T04:26:21.186261Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.186262Z 01O 276 | for(int j=0; j= 1 2026-04-13T04:26:21.186902Z 01O 27 | if (n<1) return 0; 2026-04-13T04:26:21.186902Z 01O | ^~~ 2026-04-13T04:26:21.186903Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-04-13T04:26:21.186904Z 01O 27 | if (n<1) return 0; 2026-04-13T04:26:21.186904Z 01O | ^ 2026-04-13T04:26:21.186904Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-04-13T04:26:21.186905Z 01O 29 | va_start(ap, fmt); 2026-04-13T04:26:21.186906Z 01O | ^ 2026-04-13T04:26:21.187031Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-04-13T04:26:21.187032Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-04-13T04:26:21.187032Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-04-13T04:26:21.187033Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-04-13T04:26:21.187034Z 01O 40 | while (*ch!='\0') { 2026-04-13T04:26:21.187034Z 01O | ^~~~~~~~~ 2026-04-13T04:26:21.187035Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-04-13T04:26:21.187035Z 01O 40 | while (*ch!='\0') { 2026-04-13T04:26:21.187036Z 01O | ^ 2026-04-13T04:26:21.187036Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-04-13T04:26:21.187037Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-04-13T04:26:21.187037Z 01O | ^~~~~~~~ 2026-04-13T04:26:21.187086Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-04-13T04:26:21.187087Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-04-13T04:26:21.187088Z 01O | ^ 2026-04-13T04:26:21.187088Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-04-13T04:26:21.187089Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-04-13T04:26:21.187089Z 01O | ^~~~~~~~~~ 2026-04-13T04:26:21.187095Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-04-13T04:26:21.187095Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-04-13T04:26:21.187096Z 01O | ^ 2026-04-13T04:26:21.187096Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-04-13T04:26:21.187097Z 01O 47 | if (!end) { 2026-04-13T04:26:21.187097Z 01O | ^~~~ 2026-04-13T04:26:21.187098Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-04-13T04:26:21.187098Z 01O 47 | if (!end) { 2026-04-13T04:26:21.187099Z 01O | ^ 2026-04-13T04:26:21.187099Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-04-13T04:26:21.187108Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-04-13T04:26:21.187109Z 01O | ^ 2026-04-13T04:26:21.187110Z 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-04-13T04:26:21.187111Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-04-13T04:26:21.187112Z 01O | ^~~~~~ 2026-04-13T04:26:21.187201Z 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-04-13T04:26:21.187202Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-04-13T04:26:21.187203Z 01O | ^~~~~~ 2026-04-13T04:26:21.187468Z 01E Suppressed 1 warnings (1 in non-user code). 2026-04-13T04:26:21.187469Z 01E Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2026-04-13T04:26:21.204319Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-04-13T04:26:21.729376Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-04-13T04:26:21.729438Z 01O * using R Under development (unstable) (2026-04-11 r89869) 2026-04-13T04:26:21.729659Z 01O * using platform: x86_64-pc-linux-gnu 2026-04-13T04:26:21.729827Z 01O * R was compiled by 2026-04-13T04:26:21.730001Z 01O Debian clang version 21.1.8 (3+b1) 2026-04-13T04:26:21.730003Z 01O GNU Fortran (Debian 15.2.0-16) 15.2.0 2026-04-13T04:26:21.730239Z 01O * running under: Debian GNU/Linux forky/sid 2026-04-13T04:26:21.730423Z 01O * using session charset: UTF-8 2026-04-13T04:26:21.730997Z 01O * current time: 2026-04-13 04:26:21 UTC 2026-04-13T04:26:22.482558Z 01O * using option ‘--as-cran’ 2026-04-13T04:26:22.482815Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-04-13T04:26:22.485001Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-04-13T04:26:22.485268Z 01O * package encoding: UTF-8 2026-04-13T04:26:22.485482Z 01O * checking CRAN incoming feasibility ... OK 2026-04-13T04:26:23.001059Z 01O * checking package namespace information ... OK 2026-04-13T04:26:23.008509Z 01O * checking package dependencies ... OK 2026-04-13T04:26:24.115168Z 01O * checking if this is a source package ... OK 2026-04-13T04:26:24.118354Z 01O * checking if there is a namespace ... OK 2026-04-13T04:26:24.122611Z 01O * checking for .dll and .exe files ... OK 2026-04-13T04:26:24.123192Z 01O * checking for hidden files and directories ... OK 2026-04-13T04:26:24.126252Z 01O * checking for portable file names ... OK 2026-04-13T04:26:24.130821Z 01O * checking for sufficient/correct file permissions ... OK 2026-04-13T04:26:24.134823Z 01O * checking whether package ‘data.table’ can be installed ... [22s/22s] OK 2026-04-13T04:26:46.294697Z 01O * used C compiler: ‘Debian clang version 21.1.8 (3+b1)’ 2026-04-13T04:26:46.295218Z 01O * checking installed package size ... INFO 2026-04-13T04:26:46.299284Z 01O installed size is 7.9Mb 2026-04-13T04:26:46.299934Z 01O sub-directories of 1Mb or more: 2026-04-13T04:26:46.300456Z 01O doc 1.1Mb 2026-04-13T04:26:46.300457Z 01O libs 1.5Mb 2026-04-13T04:26:46.300457Z 01O po 1.7Mb 2026-04-13T04:26:46.300458Z 01O tests 2.2Mb 2026-04-13T04:26:46.310833Z 01O * checking package directory ... OK 2026-04-13T04:26:46.311262Z 01O * checking for future file timestamps ... OK 2026-04-13T04:26:46.311952Z 01O * checking ‘build’ directory ... OK 2026-04-13T04:26:46.312756Z 01O * checking DESCRIPTION meta-information ... OK 2026-04-13T04:26:47.118310Z 01O * checking top-level files ... OK 2026-04-13T04:26:48.566607Z 01O * checking for left-over files ... OK 2026-04-13T04:26:48.569893Z 01O * checking index information ... OK 2026-04-13T04:26:48.742644Z 01O * checking package subdirectories ... OK 2026-04-13T04:26:49.138625Z 01O * checking code files for non-ASCII characters ... OK 2026-04-13T04:26:49.190431Z 01O * checking R files for syntax errors ... OK 2026-04-13T04:26:49.269600Z 01O * checking whether the package can be loaded ... OK 2026-04-13T04:26:49.476295Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-04-13T04:26:49.641693Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-04-13T04:26:49.803691Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-04-13T04:26:49.971088Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-04-13T04:26:50.181631Z 01O * checking loading without being on the library search path ... OK 2026-04-13T04:26:50.598600Z 01O * checking whether startup messages can be suppressed ... OK 2026-04-13T04:26:50.803755Z 01O * checking use of S3 registration ... OK 2026-04-13T04:26:50.835334Z 01O * checking dependencies in R code ... OK 2026-04-13T04:26:51.712106Z 01O * checking S3 generic/method consistency ... OK 2026-04-13T04:26:52.086978Z 01O * checking replacement functions ... OK 2026-04-13T04:26:52.292197Z 01O * checking foreign function calls ... OK 2026-04-13T04:26:53.076918Z 01O * checking R code for possible problems ... [16s/16s] OK 2026-04-13T04:27:09.462825Z 01O * checking Rd files ... OK 2026-04-13T04:27:10.289228Z 01O * checking Rd metadata ... OK 2026-04-13T04:27:10.333248Z 01O * checking Rd line widths ... OK 2026-04-13T04:27:10.612547Z 01O * checking Rd cross-references ... OK 2026-04-13T04:27:11.194635Z 01O * checking for missing documentation entries ... OK 2026-04-13T04:27:11.423801Z 01O * checking for code/documentation mismatches ... OK 2026-04-13T04:27:12.424704Z 01O * checking Rd \usage sections ... OK 2026-04-13T04:27:13.335277Z 01O * checking Rd contents ... OK 2026-04-13T04:27:13.793862Z 01O * checking for unstated dependencies in examples ... OK 2026-04-13T04:27:14.298264Z 01O * checking line endings in shell scripts ... OK 2026-04-13T04:27:14.298819Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-04-13T04:27:14.318221Z 01O * checking line endings in Makefiles ... OK 2026-04-13T04:27:14.318765Z 01O * checking compilation flags in Makevars ... OK 2026-04-13T04:27:14.374406Z 01O * checking for GNU extensions in Makefiles ... OK 2026-04-13T04:27:14.375248Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-04-13T04:27:14.376643Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-04-13T04:27:14.380783Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-04-13T04:27:14.395002Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-04-13T04:27:14.416751Z 01O * checking compilation flags used ... OK 2026-04-13T04:27:14.418596Z 01O * checking compiled code ... OK 2026-04-13T04:27:14.538650Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-04-13T04:27:14.755247Z 01O * checking files in ‘vignettes’ ... OK 2026-04-13T04:27:15.617139Z 01O * checking examples ... OK 2026-04-13T04:27:22.869693Z 01O * checking examples with --run-donttest ... OK 2026-04-13T04:27:33.018685Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-04-13T04:27:33.086740Z 01O * checking tests ... 2026-04-13T04:27:33.232896Z 01O Running ‘autoprint.R’ 2026-04-13T04:27:33.477402Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-04-13T04:27:33.483963Z 01O Running ‘froll.R’ [395s/395s] 2026-04-13T04:34:08.689182Z 01O Running ‘litedown.R’ 2026-04-13T04:34:08.999464Z 01O Running ‘main.R’ [41s/42s] 2026-04-13T04:34:50.523928Z 01O Running ‘mergelist.R’ 2026-04-13T04:34:52.110782Z 01O Running ‘nafill.R’ 2026-04-13T04:34:52.604952Z 01O Running ‘optimize.R’ 2026-04-13T04:34:53.904112Z 01O Running ‘other.R’ 2026-04-13T04:34:54.116121Z 01O Running ‘programming.R’ 2026-04-13T04:34:54.702113Z 01O Running ‘S4.R’ 2026-04-13T04:34:55.022523Z 01O Running ‘types.R’ 2026-04-13T04:34:55.269539Z 01O [442s/442s] OK 2026-04-13T04:34:55.364229Z 01O * checking for unstated dependencies in vignettes ... OK 2026-04-13T04:34:55.639975Z 01O * checking package vignettes ... OK 2026-04-13T04:34:56.271680Z 01O * checking re-building of vignette outputs ... [30s/31s] OK 2026-04-13T04:35:27.178760Z 01O * checking PDF version of manual ... OK 2026-04-13T04:35:32.904879Z 01O * checking HTML version of manual ... NOTE 2026-04-13T04:35:39.498244Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-04-13T04:35:39.498256Z 01O * checking for non-standard things in the check directory ... OK 2026-04-13T04:35:39.498684Z 01O * checking for detritus in the temp directory ... OK 2026-04-13T04:35:39.499360Z 01O * DONE 2026-04-13T04:35:39.499758Z 01E 2026-04-13T04:35:39.499863Z 01O Status: 1 NOTE 2026-04-13T04:35:39.500015Z 01E See 2026-04-13T04:35:39.500016Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-04-13T04:35:39.500017Z 01E for details. 2026-04-13T04:35:39.500114Z 01E 2026-04-13T04:35:39.520794Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-04-13T04:35:39.522463Z 01O freadR.c:835:21: warning: implicit conversion from 'unsigned long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-const-int-float-conversion] 2026-04-13T04:35:39.694339Z 00O section_end:1776054939:step_script 2026-04-13T04:35:39.694348Z 00O+section_start:1776054939:after_script 2026-04-13T04:35:39.694758Z 00O+Running after_script 2026-04-13T04:35:40.044676Z 01O Running after script... 2026-04-13T04:35:40.044708Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-04-13T04:35:40.045974Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-04-13T04:35:40.045977Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-04-13T04:35:40.046090Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-04-13T04:35:40.046146Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-04-13T04:35:40.217531Z 00O section_end:1776054940:after_script 2026-04-13T04:35:40.217540Z 00O+section_start:1776054940:upload_artifacts_on_failure 2026-04-13T04:35:40.218273Z 00O+Uploading artifacts for failed job 2026-04-13T04:35:40.622161Z 01O Uploading artifacts... 2026-04-13T04:35:40.699936Z 01E bus/test-lin-dev-clang-cran: found 714 matching artifact files and directories 2026-04-13T04:35:42.850866Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=25cdc3899ac444b7b2962fe604f2c6ef id=13888029296 responseStatus=201 Created token=6e_iYjPs5 2026-04-13T04:35:43.026225Z 00O section_end:1776054943:upload_artifacts_on_failure 2026-04-13T04:35:43.026234Z 00O+section_start:1776054943:cleanup_file_variables 2026-04-13T04:35:43.026331Z 00O+Cleaning up project directory and file based variables 2026-04-13T04:35:43.539051Z 00O section_end:1776054943:cleanup_file_variables 2026-04-13T04:35:43.539060Z 00O+ 2026-04-13T04:35:43.580706Z 00O ERROR: Job failed: exit code 1