2026-05-01T04:21:39.276467Z 00O Running with gitlab-runner 18.10.0~pre.705.ge11dde90 (e11dde90) 2026-05-01T04:21:39.276477Z 00O  on blue-5.saas-linux-medium-amd64.runners-manager.gitlab.com/default nEW2M-oDE, system ID: s_fe9b8d77dc4b 2026-05-01T04:21:39.276482Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true 2026-05-01T04:21:39.276500Z 00O Resolving secrets 2026-05-01T04:21:39.276621Z 00O section_start:1777609299:prepare_executor 2026-05-01T04:21:39.276622Z 00O+Preparing the "docker+machine" executor 2026-05-01T04:21:39.402376Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-05-01T04:21:43.426251Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-05-01T04:21:43.426752Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-05-01T04:21:43.426758Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-05-01T04:22:03.753304Z 00O Using docker image sha256:199ba54acb99b62a84ef54605fb9827793a08596343baf5fb82f672238df62bd for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:9319b93c5ca55390422f6db53ea8b9b85e91d385fcb6f5d502e07d78a02a8654 ... 2026-05-01T04:22:03.753371Z 00O section_end:1777609323:prepare_executor 2026-05-01T04:22:03.753372Z 00O+section_start:1777609323:prepare_script 2026-05-01T04:22:03.753449Z 00O+Preparing environment 2026-05-01T04:22:03.754196Z 00O Using effective pull policy of [always] for container sha256:36a2bb48477a73004578891cfbcc2fac7eb689b5fc8f26edb4a261968ec0006f 2026-05-01T04:22:11.236076Z 01O Running on runner-new2m-ode-project-3622566-concurrent-0 via runner-new2m-ode-s-l-m-amd64-1777609228-8b988830... 2026-05-01T04:22:11.414403Z 00O section_end:1777609331:prepare_script 2026-05-01T04:22:11.414407Z 00O+section_start:1777609331:get_sources 2026-05-01T04:22:11.414882Z 00O+Getting source from Git repository 2026-05-01T04:22:11.788683Z 01O Gitaly correlation ID: 256fa2c4b3a6464b85f51071e3fd90c6 2026-05-01T04:22:11.795681Z 01O Fetching changes... 2026-05-01T04:22:11.798966Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-05-01T04:22:11.801090Z 01O Created fresh repository. 2026-05-01T04:22:17.555172Z 01O Checking out 289a1ec3 as detached HEAD (ref is master)... 2026-05-01T04:22:17.746363Z 01O 2026-05-01T04:22:17.746366Z 01O Skipping Git submodules setup 2026-05-01T04:22:17.746456Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-05-01T04:22:17.985184Z 00O section_end:1777609337:get_sources 2026-05-01T04:22:17.985188Z 00O+section_start:1777609337:download_artifacts 2026-05-01T04:22:17.985852Z 00O+Downloading artifacts 2026-05-01T04:22:18.415551Z 01O Downloading artifacts for build (14173257970)... 2026-05-01T04:22:18.710362Z 01E Downloading artifacts from coordinator... ok  correlation_id=2fe9c1225a2a49a68f34df3aed2aafda host=storage.googleapis.com id=14173257970 responseStatus=200 OK token=6e_6H7yBf 2026-05-01T04:22:18.727884Z 01O Downloading artifacts for mirror-packages (14173257969)... 2026-05-01T04:22:19.756818Z 01E Downloading artifacts from coordinator... ok  correlation_id=a78163d8f37e42a4b8bb7b680e86aaea host=storage.googleapis.com id=14173257969 responseStatus=200 OK token=6e_6H7yBf 2026-05-01T04:22:20.806515Z 00O section_end:1777609340:download_artifacts 2026-05-01T04:22:20.806520Z 00O+section_start:1777609340:step_script 2026-05-01T04:22:20.806924Z 00O+Executing "step_script" stage of the job script 2026-05-01T04:22:20.806941Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-05-01T04:22:20.807896Z 00O Using docker image sha256:199ba54acb99b62a84ef54605fb9827793a08596343baf5fb82f672238df62bd for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:9319b93c5ca55390422f6db53ea8b9b85e91d385fcb6f5d502e07d78a02a8654 ... 2026-05-01T04:22:21.148721Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-05-01T04:22:21.157538Z 01O $ mkdir -p ~/.R 2026-05-01T04:22:21.158815Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-05-01T04:22:21.158860Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-05-01T04:22:21.158932Z 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-05-01T04:22:21.369519Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-05-01T04:22:21.369527Z 01E 2026-05-01T04:23:33.365239Z 01E Updating HTML index of packages in '.Library' 2026-05-01T04:23:33.365661Z 01E Making 'packages.html' ... done 2026-05-01T04:23:33.384573Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-05-01T04:23:33.402923Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-05-01T04:23:40.471355Z 01E 3 warnings generated. 2026-05-01T04:23:40.471658Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-05-01T04:23:43.443929Z 01E 3 warnings generated. 2026-05-01T04:23:43.444153Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-05-01T04:23:49.913597Z 01E 3 warnings generated. 2026-05-01T04:23:49.913612Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-05-01T04:23:50.148198Z 01E 7 warnings generated. 2026-05-01T04:23:50.148451Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-05-01T04:23:52.756401Z 01E 7 warnings generated. 2026-05-01T04:23:52.756669Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-05-01T04:23:54.868307Z 01E 7 warnings generated. 2026-05-01T04:23:54.868499Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-05-01T04:23:58.911245Z 01E 7 warnings generated. 2026-05-01T04:23:58.911539Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-05-01T04:23:58.971507Z 01E 7 warnings generated. 2026-05-01T04:23:58.971782Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-05-01T04:24:01.730808Z 01E 10 warnings generated. 2026-05-01T04:24:01.730939Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-05-01T04:24:06.800826Z 01E 11 warnings generated. 2026-05-01T04:24:06.800933Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-05-01T04:24:10.703333Z 01E 12 warnings generated. 2026-05-01T04:24:10.703662Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-05-01T04:24:18.866139Z 01E 13 warnings generated. 2026-05-01T04:24:18.866204Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-05-01T04:24:22.253169Z 01E 13 warnings generated. 2026-05-01T04:24:22.253374Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-05-01T04:24:27.581583Z 01E 25 warnings generated. 2026-05-01T04:24:27.581624Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-05-01T04:24:35.956686Z 01E 29 warnings generated. 2026-05-01T04:24:35.956698Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-05-01T04:24:46.254850Z 01E 35 warnings generated. 2026-05-01T04:24:46.254862Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-05-01T04:24:49.718711Z 01E 36 warnings generated. 2026-05-01T04:24:49.718949Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-05-01T04:24:52.061044Z 01E 39 warnings generated. 2026-05-01T04:24:52.061295Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-05-01T04:24:52.110164Z 01E 39 warnings generated. 2026-05-01T04:24:52.110354Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-05-01T04:24:52.426909Z 01E 39 warnings generated. 2026-05-01T04:24:52.427248Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-05-01T04:24:58.457223Z 01E 41 warnings generated. 2026-05-01T04:24:58.457267Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-05-01T04:25:01.891872Z 01E 41 warnings generated. 2026-05-01T04:25:01.892016Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-05-01T04:25:15.743704Z 01E 46 warnings generated. 2026-05-01T04:25:15.743714Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-05-01T04:25:15.864036Z 01E 47 warnings generated. 2026-05-01T04:25:15.864368Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-05-01T04:25:16.123226Z 01E 47 warnings generated. 2026-05-01T04:25:16.123486Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-05-01T04:25:20.819438Z 01E 50 warnings generated. 2026-05-01T04:25:20.820001Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-05-01T04:25:20.870086Z 01E 50 warnings generated. 2026-05-01T04:25:20.870382Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-05-01T04:25:20.904500Z 01E 50 warnings generated. 2026-05-01T04:25:20.904785Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-05-01T04:25:21.767213Z 01E 50 warnings generated. 2026-05-01T04:25:21.767521Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-05-01T04:25:24.828036Z 01E 63 warnings generated. 2026-05-01T04:25:24.828191Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-05-01T04:25:24.859381Z 01E 63 warnings generated. 2026-05-01T04:25:24.859570Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-05-01T04:25:24.909226Z 01E 63 warnings generated. 2026-05-01T04:25:24.909572Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-05-01T04:25:25.061893Z 01E 64 warnings generated. 2026-05-01T04:25:25.062123Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-05-01T04:25:25.520049Z 01E 64 warnings generated. 2026-05-01T04:25:25.520407Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-05-01T04:25:26.304210Z 01E 64 warnings generated. 2026-05-01T04:25:26.304473Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-05-01T04:25:29.637562Z 01E 70 warnings generated. 2026-05-01T04:25:29.637789Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-05-01T04:25:32.260387Z 01E 70 warnings generated. 2026-05-01T04:25:32.260627Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-05-01T04:25:32.290025Z 01E 70 warnings generated. 2026-05-01T04:25:32.290226Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-05-01T04:25:35.084367Z 01E 70 warnings generated. 2026-05-01T04:25:35.084600Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-05-01T04:25:36.336180Z 01E 72 warnings generated. 2026-05-01T04:25:36.336404Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-05-01T04:25:36.686723Z 01E 72 warnings generated. 2026-05-01T04:25:36.686924Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-05-01T04:25:39.377952Z 01E 72 warnings generated. 2026-05-01T04:25:39.378217Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-05-01T04:25:39.705399Z 01E 72 warnings generated. 2026-05-01T04:25:39.705657Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-05-01T04:25:46.455032Z 01E 72 warnings generated. 2026-05-01T04:25:46.455124Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-05-01T04:25:47.289470Z 01E 72 warnings generated. 2026-05-01T04:25:47.289737Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-05-01T04:25:47.328446Z 01E 72 warnings generated. 2026-05-01T04:25:47.328703Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-05-01T04:25:47.404148Z 01E 72 warnings generated. 2026-05-01T04:25:47.404847Z 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-05-01T04:25:47.404849Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-05-01T04:25:47.404850Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404850Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-05-01T04:25:47.404851Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404852Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-05-01T04:25:47.404853Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404854Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-05-01T04:25:47.404854Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404855Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-05-01T04:25:47.404856Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404856Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-05-01T04:25:47.404857Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404858Z 01O 15 | R_NilValue 2026-05-01T04:25:47.404859Z 01O | ~~~~~~~~~~ 2026-05-01T04:25:47.404859Z 01O 16 | )) 2026-05-01T04:25:47.404860Z 01O | ~~ 2026-05-01T04:25:47.404861Z 01O 17 | )); 2026-05-01T04:25:47.404862Z 01O | ~ 2026-05-01T04:25:47.404862Z 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-05-01T04:25:47.404864Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-05-01T04:25:47.404864Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404865Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-05-01T04:25:47.404866Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404867Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-05-01T04:25:47.404867Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404868Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-05-01T04:25:47.404869Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404869Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-05-01T04:25:47.404870Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404898Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-05-01T04:25:47.404899Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.404900Z 01O 15 | R_NilValue 2026-05-01T04:25:47.404900Z 01O | ~~~~~~~~~~ 2026-05-01T04:25:47.404901Z 01O 16 | )) 2026-05-01T04:25:47.404901Z 01O | ~~ 2026-05-01T04:25:47.404901Z 01O 17 | )); 2026-05-01T04:25:47.404902Z 01O | ~ 2026-05-01T04:25:47.404902Z 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-05-01T04:25:47.404903Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-01T04:25:47.404904Z 01O | ^ 2026-05-01T04:25:47.405133Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-05-01T04:25:47.405135Z 01O 937 | const STYPE val = sd[soff]; \ 2026-05-01T04:25:47.405136Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.405136Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'len' is >= 1 2026-05-01T04:25:47.405137Z 01O 714 | if (len<1) return NULL; 2026-05-01T04:25:47.405137Z 01O | ^~~~~ 2026-05-01T04:25:47.405138Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-05-01T04:25:47.405139Z 01O 714 | if (len<1) return NULL; 2026-05-01T04:25:47.405139Z 01O | ^ 2026-05-01T04:25:47.405139Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: Assuming 'sourceLen' is < 0 2026-05-01T04:25:47.405140Z 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-05-01T04:25:47.405141Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.405141Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: '?' condition is false 2026-05-01T04:25:47.405142Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming 'slen' is not equal to 0 2026-05-01T04:25:47.405143Z 01O 716 | if (slen==0) return NULL; 2026-05-01T04:25:47.405143Z 01O | ^~~~~~~ 2026-05-01T04:25:47.405144Z 01O /builds/Rdatatable/data.table/src/assign.c:716:3: note: Taking false branch 2026-05-01T04:25:47.405144Z 01O 716 | if (slen==0) return NULL; 2026-05-01T04:25:47.405145Z 01O | ^ 2026-05-01T04:25:47.405145Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Assuming 'sourceStart' is >= 0 2026-05-01T04:25:47.405146Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-01T04:25:47.405146Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.405147Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Left side of '||' is false 2026-05-01T04:25:47.405147Z 01O /builds/Rdatatable/data.table/src/assign.c:717:24: note: Assuming the condition is false 2026-05-01T04:25:47.405148Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-01T04:25:47.405149Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.405149Z 01O /builds/Rdatatable/data.table/src/assign.c:717:3: note: Taking false branch 2026-05-01T04:25:47.405150Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-01T04:25:47.405150Z 01O | ^ 2026-05-01T04:25:47.405151Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming the condition is false 2026-05-01T04:25:47.405152Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-05-01T04:25:47.405152Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.405153Z 01O /builds/Rdatatable/data.table/src/assign.c:719:22: note: Left side of '&&' is false 2026-05-01T04:25:47.405153Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-05-01T04:25:47.405154Z 01O | ^ 2026-05-01T04:25:47.405164Z 01O /builds/Rdatatable/data.table/src/assign.c:722:7: note: Assuming 'slen' is <= 1 2026-05-01T04:25:47.405165Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-05-01T04:25:47.405165Z 01O | ^~~~~~ 2026-05-01T04:25:47.405166Z 01O /builds/Rdatatable/data.table/src/assign.c:722:14: note: Left side of '&&' is false 2026-05-01T04:25:47.405167Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-05-01T04:25:47.405167Z 01O | ^ 2026-05-01T04:25:47.405168Z 01O /builds/Rdatatable/data.table/src/assign.c:726:7: note: Assuming 'colname' is not equal to NULL 2026-05-01T04:25:47.405168Z 01O 726 | if (colname==NULL) 2026-05-01T04:25:47.405169Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.405169Z 01O /builds/Rdatatable/data.table/src/assign.c:726:3: note: Taking false branch 2026-05-01T04:25:47.405170Z 01O 726 | if (colname==NULL) 2026-05-01T04:25:47.405170Z 01O | ^ 2026-05-01T04:25:47.405175Z 01O /builds/Rdatatable/data.table/src/assign.c:731:26: note: Assuming the condition is false 2026-05-01T04:25:47.405176Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-05-01T04:25:47.405177Z 01O | ^ 2026-05-01T04:25:47.405188Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-05-01T04:25:47.405189Z 01O 963 | #define isReal Rf_isReal 2026-05-01T04:25:47.405190Z 01O | ^ 2026-05-01T04:25:47.405190Z 01O /builds/Rdatatable/data.table/src/assign.c:731:41: note: Left side of '&&' is false 2026-05-01T04:25:47.405191Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-05-01T04:25:47.405191Z 01O | ^ 2026-05-01T04:25:47.405192Z 01O /builds/Rdatatable/data.table/src/assign.c:732:26: note: Assuming the condition is false 2026-05-01T04:25:47.405193Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-05-01T04:25:47.405193Z 01O | ^ 2026-05-01T04:25:47.405194Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-05-01T04:25:47.405194Z 01O 963 | #define isReal Rf_isReal 2026-05-01T04:25:47.405195Z 01O | ^ 2026-05-01T04:25:47.405195Z 01O /builds/Rdatatable/data.table/src/assign.c:732:41: note: Left side of '&&' is false 2026-05-01T04:25:47.405196Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-05-01T04:25:47.405197Z 01O | ^ 2026-05-01T04:25:47.405201Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Assuming 'sourceIsFactor' is false 2026-05-01T04:25:47.405202Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-01T04:25:47.405202Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.405203Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Left side of '||' is false 2026-05-01T04:25:47.405203Z 01O /builds/Rdatatable/data.table/src/assign.c:733:25: note: Assuming 'targetIsFactor' is false 2026-05-01T04:25:47.405204Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-01T04:25:47.405205Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.405207Z 01O /builds/Rdatatable/data.table/src/assign.c:733:3: note: Taking false branch 2026-05-01T04:25:47.405208Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-01T04:25:47.405208Z 01O | ^ 2026-05-01T04:25:47.405263Z 01O /builds/Rdatatable/data.table/src/assign.c:840:14: note: Assuming the condition is false 2026-05-01T04:25:47.405263Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-05-01T04:25:47.405264Z 01O | ^ 2026-05-01T04:25:47.405265Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-05-01T04:25:47.405270Z 01O 966 | #define isString Rf_isString 2026-05-01T04:25:47.405270Z 01O | ^ 2026-05-01T04:25:47.405271Z 01O /builds/Rdatatable/data.table/src/assign.c:840:31: note: Left side of '&&' is false 2026-05-01T04:25:47.405272Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-05-01T04:25:47.405272Z 01O | ^ 2026-05-01T04:25:47.405273Z 01O /builds/Rdatatable/data.table/src/assign.c:849:14: note: Assuming the condition is false 2026-05-01T04:25:47.405273Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-05-01T04:25:47.405274Z 01O | ^ 2026-05-01T04:25:47.405274Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-05-01T04:25:47.405275Z 01O 955 | #define isNewList Rf_isNewList 2026-05-01T04:25:47.405276Z 01O | ^ 2026-05-01T04:25:47.405276Z 01O /builds/Rdatatable/data.table/src/assign.c:849:32: note: Left side of '&&' is false 2026-05-01T04:25:47.405277Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-05-01T04:25:47.405277Z 01O | ^ 2026-05-01T04:25:47.405278Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Assuming the condition is false 2026-05-01T04:25:47.405278Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-01T04:25:47.405279Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.405280Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Left side of '||' is false 2026-05-01T04:25:47.405286Z 01O /builds/Rdatatable/data.table/src/assign.c:864:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-05-01T04:25:47.405287Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-01T04:25:47.405288Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.405324Z 01O /builds/Rdatatable/data.table/src/assign.c:864:75: note: Left side of '&&' is false 2026-05-01T04:25:47.405325Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-01T04:25:47.405326Z 01O | ^ 2026-05-01T04:25:47.405326Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: Assuming the condition is false 2026-05-01T04:25:47.405327Z 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-05-01T04:25:47.405328Z 01O | ^ 2026-05-01T04:25:47.405436Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405437Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405437Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.405438Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: '?' condition is false 2026-05-01T04:25:47.405439Z 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-05-01T04:25:47.405439Z 01O | ^ 2026-05-01T04:25:47.405440Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405440Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405441Z 01O | ^ 2026-05-01T04:25:47.405441Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Assuming the condition is true 2026-05-01T04:25:47.405442Z 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-05-01T04:25:47.405448Z 01O | ^ 2026-05-01T04:25:47.405448Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405449Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405450Z 01O | ^ 2026-05-01T04:25:47.405450Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-01T04:25:47.405451Z 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-05-01T04:25:47.405452Z 01O | ^ 2026-05-01T04:25:47.405452Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405453Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405453Z 01O | ^ 2026-05-01T04:25:47.405549Z 01O /builds/Rdatatable/data.table/src/assign.c:975:39: note: Assuming 'slen' is > 0 2026-05-01T04:25:47.405550Z 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-05-01T04:25:47.405551Z 01O | ^~~~~~ 2026-05-01T04:25:47.405557Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-01T04:25:47.405557Z 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-05-01T04:25:47.405558Z 01O | ^ 2026-05-01T04:25:47.405559Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405559Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405560Z 01O | ^ 2026-05-01T04:25:47.405561Z 01O /builds/Rdatatable/data.table/src/assign.c:975:49: note: Assuming 'slen' is equal to 'len' 2026-05-01T04:25:47.405561Z 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-05-01T04:25:47.405562Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.405568Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-01T04:25:47.405569Z 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-05-01T04:25:47.405570Z 01O | ^ 2026-05-01T04:25:47.405570Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405571Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405571Z 01O | ^ 2026-05-01T04:25:47.405572Z 01O /builds/Rdatatable/data.table/src/assign.c:975:62: note: Assuming 'soff' is not equal to 0 2026-05-01T04:25:47.405572Z 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-05-01T04:25:47.405573Z 01O | ^~~~~~~ 2026-05-01T04:25:47.405702Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: Assuming the condition is false 2026-05-01T04:25:47.405704Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-05-01T04:25:47.405704Z 01O | ^ 2026-05-01T04:25:47.405705Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405711Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405711Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.405716Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: '?' condition is false 2026-05-01T04:25:47.405717Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-05-01T04:25:47.405718Z 01O | ^ 2026-05-01T04:25:47.405718Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405719Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405719Z 01O | ^ 2026-05-01T04:25:47.405720Z 01O /builds/Rdatatable/data.table/src/assign.c:977:3: note: Control jumps to 'case 20:' at line 1105 2026-05-01T04:25:47.405720Z 01O 977 | switch (TYPEOF(target)) { 2026-05-01T04:25:47.405721Z 01O | ^ 2026-05-01T04:25:47.405727Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: 'len' is equal to 1 2026-05-01T04:25:47.405728Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-01T04:25:47.405728Z 01O | ^~~ 2026-05-01T04:25:47.405729Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-05-01T04:25:47.405729Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:21: note: Assuming the condition is true 2026-05-01T04:25:47.405730Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-01T04:25:47.405731Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.405734Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-05-01T04:25:47.405735Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-01T04:25:47.405736Z 01O | ^ 2026-05-01T04:25:47.405736Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:47: note: Assuming the condition is true 2026-05-01T04:25:47.405737Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-01T04:25:47.405737Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.405845Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:5: note: Taking true branch 2026-05-01T04:25:47.405846Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-01T04:25:47.405847Z 01O | ^ 2026-05-01T04:25:47.405847Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Assuming the condition is true 2026-05-01T04:25:47.405848Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-01T04:25:47.405848Z 01O | ^ 2026-05-01T04:25:47.405851Z 01O /builds/Rdatatable/data.table/src/assign.c:935:9: note: expanded from macro 'BODY' 2026-05-01T04:25:47.405851Z 01O 935 | if (length(where)) { \ 2026-05-01T04:25:47.405852Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.405854Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.405855Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.405855Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.405863Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-05-01T04:25:47.405864Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-01T04:25:47.405865Z 01O | ^ 2026-05-01T04:25:47.405866Z 01O /builds/Rdatatable/data.table/src/assign.c:935:5: note: expanded from macro 'BODY' 2026-05-01T04:25:47.405867Z 01O 935 | if (length(where)) { \ 2026-05-01T04:25:47.405867Z 01O | ^ 2026-05-01T04:25:47.405868Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: 'slen' is equal to 1 2026-05-01T04:25:47.405874Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-01T04:25:47.405874Z 01O | ^ 2026-05-01T04:25:47.405875Z 01O /builds/Rdatatable/data.table/src/assign.c:936:11: note: expanded from macro 'BODY' 2026-05-01T04:25:47.405876Z 01O 936 | if (slen==1) { \ 2026-05-01T04:25:47.405876Z 01O | ^~~~ 2026-05-01T04:25:47.405877Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-05-01T04:25:47.405877Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-01T04:25:47.405878Z 01O | ^ 2026-05-01T04:25:47.405878Z 01O /builds/Rdatatable/data.table/src/assign.c:936:7: note: expanded from macro 'BODY' 2026-05-01T04:25:47.405879Z 01O 936 | if (slen==1) { \ 2026-05-01T04:25:47.405879Z 01O | ^ 2026-05-01T04:25:47.405929Z 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-05-01T04:25:47.405930Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-01T04:25:47.405930Z 01O | ^ 2026-05-01T04:25:47.405931Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-05-01T04:25:47.405932Z 01O 937 | const STYPE val = sd[soff]; \ 2026-05-01T04:25:47.405932Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.405972Z 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-05-01T04:25:47.405973Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-05-01T04:25:47.405973Z 01O | ^~~~~ 2026-05-01T04:25:47.405974Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-05-01T04:25:47.405975Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-01T04:25:47.405975Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.405976Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-05-01T04:25:47.405976Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-01T04:25:47.405977Z 01O | ^ 2026-05-01T04:25:47.405977Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-05-01T04:25:47.405978Z 01O 6 | if (chin && chmatchdup) 2026-05-01T04:25:47.405978Z 01O | ^~~~ 2026-05-01T04:25:47.405979Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-05-01T04:25:47.405979Z 01O 6 | if (chin && chmatchdup) 2026-05-01T04:25:47.405980Z 01O | ^ 2026-05-01T04:25:47.405980Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-05-01T04:25:47.405981Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-01T04:25:47.405982Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.405982Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-05-01T04:25:47.405983Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-01T04:25:47.405983Z 01O | ^ 2026-05-01T04:25:47.405984Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-05-01T04:25:47.405984Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-01T04:25:47.405985Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.405985Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-05-01T04:25:47.405986Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-01T04:25:47.405986Z 01O | ^ 2026-05-01T04:25:47.406030Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-05-01T04:25:47.406031Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-05-01T04:25:47.406036Z 01O | ^ 2026-05-01T04:25:47.406037Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-05-01T04:25:47.406038Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-05-01T04:25:47.406038Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-01T04:25:47.406039Z 01O | ^~~~~~~ 2026-05-01T04:25:47.406042Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-05-01T04:25:47.406043Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-01T04:25:47.406043Z 01O | ^ 2026-05-01T04:25:47.406044Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-05-01T04:25:47.406044Z 01O 31 | if (tablelen==0) { 2026-05-01T04:25:47.406045Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.406045Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-05-01T04:25:47.406046Z 01O 31 | if (tablelen==0) { 2026-05-01T04:25:47.406046Z 01O | ^ 2026-05-01T04:25:47.406053Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-05-01T04:25:47.406054Z 01O 40 | if (isSymbol(x)) { 2026-05-01T04:25:47.406054Z 01O | ^ 2026-05-01T04:25:47.406055Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-05-01T04:25:47.406055Z 01O 953 | #define isSymbol Rf_isSymbol 2026-05-01T04:25:47.406056Z 01O | ^ 2026-05-01T04:25:47.406057Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-05-01T04:25:47.406057Z 01O 40 | if (isSymbol(x)) { 2026-05-01T04:25:47.406058Z 01O | ^ 2026-05-01T04:25:47.406060Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-05-01T04:25:47.406060Z 01O 46 | if (xlen==1) { 2026-05-01T04:25:47.406061Z 01O | ^~~~~~~ 2026-05-01T04:25:47.406061Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-05-01T04:25:47.406062Z 01O 46 | if (xlen==1) { 2026-05-01T04:25:47.406063Z 01O | ^ 2026-05-01T04:25:47.406106Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-05-01T04:25:47.406107Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.406116Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.406116Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-01T04:25:47.406117Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-05-01T04:25:47.406117Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.406118Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.406122Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-05-01T04:25:47.406122Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.406123Z 01O | ^ 2026-05-01T04:25:47.406123Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-05-01T04:25:47.406124Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-01T04:25:47.406124Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.406125Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.406126Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-01T04:25:47.406126Z 01O | ^ 2026-05-01T04:25:47.406127Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-05-01T04:25:47.406127Z 01O 66 | if (tl == 0) { 2026-05-01T04:25:47.406128Z 01O | ^~~~~~~ 2026-05-01T04:25:47.406135Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-05-01T04:25:47.406136Z 01O 66 | if (tl == 0) { 2026-05-01T04:25:47.406136Z 01O | ^ 2026-05-01T04:25:47.406194Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-05-01T04:25:47.406195Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-01T04:25:47.406196Z 01O | ^ 2026-05-01T04:25:47.406196Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.406197Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-01T04:25:47.406198Z 01O | ^ 2026-05-01T04:25:47.406203Z 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-05-01T04:25:47.406204Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-05-01T04:25:47.406204Z 01O | ^~~~~ 2026-05-01T04:25:47.406205Z 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-05-01T04:25:47.406206Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-05-01T04:25:47.406206Z 01O | ^~~~~ 2026-05-01T04:25:47.406207Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-05-01T04:25:47.406207Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-01T04:25:47.406208Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.406208Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-05-01T04:25:47.406209Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-01T04:25:47.406209Z 01O | ^ 2026-05-01T04:25:47.406210Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-05-01T04:25:47.406211Z 01O 6 | if (chin && chmatchdup) 2026-05-01T04:25:47.406211Z 01O | ^~~~ 2026-05-01T04:25:47.406315Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-05-01T04:25:47.406316Z 01O 6 | if (chin && chmatchdup) 2026-05-01T04:25:47.406316Z 01O | ^ 2026-05-01T04:25:47.406317Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-05-01T04:25:47.406317Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-01T04:25:47.406318Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.406318Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-05-01T04:25:47.406319Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-01T04:25:47.406320Z 01O | ^ 2026-05-01T04:25:47.406323Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-05-01T04:25:47.406324Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-01T04:25:47.406325Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.406325Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-05-01T04:25:47.406326Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-01T04:25:47.406327Z 01O | ^ 2026-05-01T04:25:47.406332Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-05-01T04:25:47.406332Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-05-01T04:25:47.406333Z 01O | ^ 2026-05-01T04:25:47.406333Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-05-01T04:25:47.406334Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-05-01T04:25:47.406335Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-01T04:25:47.406335Z 01O | ^~~~~~~ 2026-05-01T04:25:47.406340Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-05-01T04:25:47.406341Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-01T04:25:47.406341Z 01O | ^ 2026-05-01T04:25:47.406342Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-05-01T04:25:47.406342Z 01O 31 | if (tablelen==0) { 2026-05-01T04:25:47.406343Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.406343Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-05-01T04:25:47.406344Z 01O 31 | if (tablelen==0) { 2026-05-01T04:25:47.406344Z 01O | ^ 2026-05-01T04:25:47.406345Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-05-01T04:25:47.406346Z 01O 40 | if (isSymbol(x)) { 2026-05-01T04:25:47.406346Z 01O | ^ 2026-05-01T04:25:47.406346Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-05-01T04:25:47.406347Z 01O 953 | #define isSymbol Rf_isSymbol 2026-05-01T04:25:47.406348Z 01O | ^ 2026-05-01T04:25:47.406348Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-05-01T04:25:47.406349Z 01O 40 | if (isSymbol(x)) { 2026-05-01T04:25:47.406349Z 01O | ^ 2026-05-01T04:25:47.406418Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-05-01T04:25:47.406419Z 01O 46 | if (xlen==1) { 2026-05-01T04:25:47.406420Z 01O | ^~~~~~~ 2026-05-01T04:25:47.406420Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-05-01T04:25:47.406421Z 01O 46 | if (xlen==1) { 2026-05-01T04:25:47.406421Z 01O | ^ 2026-05-01T04:25:47.406426Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-05-01T04:25:47.406427Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.406427Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.406428Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-05-01T04:25:47.406428Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.406429Z 01O | ^ 2026-05-01T04:25:47.406429Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-01T04:25:47.406430Z 01O 99 | for (int i=0; i= 'tablelen' 2026-05-01T04:25:47.406528Z 01O 123 | for (int i=0; i= 'tablelen' 2026-05-01T04:25:47.406537Z 01O 125 | for (int i=0; i= 0 2026-05-01T04:25:47.406585Z 01O 129 | if (u<0) { 2026-05-01T04:25:47.406585Z 01O | ^~~ 2026-05-01T04:25:47.406586Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-05-01T04:25:47.406586Z 01O 129 | if (u<0) { 2026-05-01T04:25:47.406587Z 01O | ^ 2026-05-01T04:25:47.406587Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-05-01T04:25:47.406588Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-05-01T04:25:47.406876Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.406877Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-01T04:25:47.406877Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.406878Z 01O | ^ 2026-05-01T04:25:47.406878Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-05-01T04:25:47.406879Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.406879Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.406880Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-05-01T04:25:47.406881Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.406881Z 01O | ^ 2026-05-01T04:25:47.406882Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-01T04:25:47.406882Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-05-01T04:25:47.407157Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.407158Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-01T04:25:47.407158Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-05-01T04:25:47.407159Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.407159Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.407160Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-05-01T04:25:47.407161Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-01T04:25:47.407161Z 01O | ^ 2026-05-01T04:25:47.407162Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-01T04:25:47.407162Z 01O 99 | for (int i=0; i= 0 2026-05-01T04:25:47.407246Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-05-01T04:25:47.407246Z 01O | ^~~ 2026-05-01T04:25:47.407247Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-05-01T04:25:47.407247Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-05-01T04:25:47.407248Z 01O | ^ 2026-05-01T04:25:47.407248Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-05-01T04:25:47.407249Z 01O 144 | for (int i=0; i= 'nlhs' 2026-05-01T04:25:47.407340Z 01O 14 | for (int i=0; i= 'nlhs' 2026-05-01T04:25:47.407561Z 01O 14 | for (int i=0; i= 'nlhs' 2026-05-01T04:25:47.407788Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-05-01T04:25:47.409174Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.409174Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-05-01T04:25:47.409175Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-01T04:25:47.409176Z 01O | ^ 2026-05-01T04:25:47.409176Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.409177Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.409177Z 01O | ^ 2026-05-01T04:25:47.409291Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-05-01T04:25:47.409292Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-01T04:25:47.409293Z 01O | ^ 2026-05-01T04:25:47.409293Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.409294Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.409294Z 01O | ^ 2026-05-01T04:25:47.409301Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-05-01T04:25:47.409302Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-01T04:25:47.409303Z 01O | ^ 2026-05-01T04:25:47.409303Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.409304Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.409304Z 01O | ^ 2026-05-01T04:25:47.409305Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-05-01T04:25:47.409305Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-01T04:25:47.409306Z 01O | ^ 2026-05-01T04:25:47.409306Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-05-01T04:25:47.409307Z 01O 228 | for (int i=0; i= 'ncol' 2026-05-01T04:25:47.409310Z 01O 234 | for (int i=0; i= 'nidx' 2026-05-01T04:25:47.409420Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-05-01T04:25:47.409426Z 01O | ^~~~ 2026-05-01T04:25:47.409427Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-05-01T04:25:47.409427Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-05-01T04:25:47.409428Z 01O | ^ 2026-05-01T04:25:47.409428Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-05-01T04:25:47.409429Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-05-01T04:25:47.409516Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-05-01T04:25:47.410292Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-05-01T04:25:47.410492Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.410493Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-05-01T04:25:47.410494Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-05-01T04:25:47.410494Z 01O | ^ 2026-05-01T04:25:47.410495Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-05-01T04:25:47.410495Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-05-01T04:25:47.410496Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.410496Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-05-01T04:25:47.410497Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-05-01T04:25:47.410498Z 01O | ^ 2026-05-01T04:25:47.410544Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-05-01T04:25:47.410545Z 01O 326 | if (new_marks != marks) { 2026-05-01T04:25:47.410545Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.410546Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-05-01T04:25:47.410546Z 01O 326 | if (new_marks != marks) { 2026-05-01T04:25:47.410547Z 01O | ^ 2026-05-01T04:25:47.410600Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-05-01T04:25:47.410601Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-05-01T04:25:47.410602Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.410602Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-05-01T04:25:47.410603Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-05-01T04:25:47.410604Z 01O | ^ 2026-05-01T04:25:47.410604Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-05-01T04:25:47.410605Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-01T04:25:47.410606Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.410606Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-05-01T04:25:47.410607Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-01T04:25:47.410611Z 01O | ^ 2026-05-01T04:25:47.410615Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-05-01T04:25:47.410616Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-05-01T04:25:47.410617Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.410617Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-05-01T04:25:47.410618Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-01T04:25:47.410619Z 01O | ^ 2026-05-01T04:25:47.410656Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-05-01T04:25:47.410656Z 01O 338 | if (!anynotascii) 2026-05-01T04:25:47.410657Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.410658Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-05-01T04:25:47.410663Z 01O 338 | if (!anynotascii) 2026-05-01T04:25:47.410663Z 01O | ^ 2026-05-01T04:25:47.410664Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-05-01T04:25:47.410664Z 01O 340 | if (!IS_UTF8(s)) 2026-05-01T04:25:47.410665Z 01O | ^ 2026-05-01T04:25:47.410665Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-05-01T04:25:47.410666Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-05-01T04:25:47.410666Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.410667Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-05-01T04:25:47.410668Z 01O 925 | #define getCharCE Rf_getCharCE 2026-05-01T04:25:47.410668Z 01O | ^ 2026-05-01T04:25:47.410669Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-05-01T04:25:47.410669Z 01O 340 | if (!IS_UTF8(s)) 2026-05-01T04:25:47.410670Z 01O | ^ 2026-05-01T04:25:47.410670Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-05-01T04:25:47.410671Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-05-01T04:25:47.410814Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-05-01T04:25:47.410899Z 01O 364 | for (int i=0; i> 2026-05-01T04:25:47.411092Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411092Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-05-01T04:25:47.411093Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411093Z 01O 43 | 2026-05-01T04:25:47.411094Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-05-01T04:25:47.411094Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411095Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-05-01T04:25:47.411096Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411096Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-05-01T04:25:47.411097Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411097Z 01O 47 | 2026-05-01T04:25:47.411098Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-05-01T04:25:47.411098Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411099Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-05-01T04:25:47.411100Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411100Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-05-01T04:25:47.411101Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411101Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-05-01T04:25:47.411102Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411103Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-05-01T04:25:47.411116Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411117Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-05-01T04:25:47.411117Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411118Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-05-01T04:25:47.411118Z 01O 1410 | if (freadCleanup()) { 2026-05-01T04:25:47.411119Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.411119Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-05-01T04:25:47.411120Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-01T04:25:47.411121Z 01O | ^~~~ 2026-05-01T04:25:47.411121Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-05-01T04:25:47.411122Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-05-01T04:25:47.411122Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-01T04:25:47.411123Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411124Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-05-01T04:25:47.411124Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-01T04:25:47.411125Z 01O | ^ 2026-05-01T04:25:47.411181Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-05-01T04:25:47.411182Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-01T04:25:47.411183Z 01O | ^~~~ 2026-05-01T04:25:47.411183Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-05-01T04:25:47.411184Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-01T04:25:47.411184Z 01O | ^ 2026-05-01T04:25:47.411185Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-05-01T04:25:47.411186Z 01O 169 | if (mmp != NULL) { 2026-05-01T04:25:47.411186Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.411187Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-05-01T04:25:47.411187Z 01O 169 | if (mmp != NULL) { 2026-05-01T04:25:47.411188Z 01O | ^ 2026-05-01T04:25:47.411190Z 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-05-01T04:25:47.411191Z 01O 193 | quoteRule = -1; 2026-05-01T04:25:47.411191Z 01O | ^~ 2026-05-01T04:25:47.411224Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2026-05-01T04:25:47.411226Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-05-01T04:25:47.411226Z 01O | ^ ~~ 2026-05-01T04:25:47.411227Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-05-01T04:25:47.411227Z 01O 1410 | if (freadCleanup()) { 2026-05-01T04:25:47.411228Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.411228Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-05-01T04:25:47.411229Z 01O 1410 | if (freadCleanup()) { 2026-05-01T04:25:47.411229Z 01O | ^ 2026-05-01T04:25:47.411230Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.411230Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-01T04:25:47.411231Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411231Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-05-01T04:25:47.411239Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-01T04:25:47.411239Z 01O | ^ 2026-05-01T04:25:47.411240Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-05-01T04:25:47.411240Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-01T04:25:47.411241Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.411241Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-05-01T04:25:47.411242Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-01T04:25:47.411242Z 01O | ^ 2026-05-01T04:25:47.411243Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-05-01T04:25:47.411243Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-01T04:25:47.411244Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.411244Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-05-01T04:25:47.411245Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-01T04:25:47.411246Z 01O | ^ 2026-05-01T04:25:47.411268Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-05-01T04:25:47.411268Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-01T04:25:47.411269Z 01O | ^~~ 2026-05-01T04:25:47.411269Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-05-01T04:25:47.411270Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-01T04:25:47.411271Z 01O | ^ 2026-05-01T04:25:47.411271Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-05-01T04:25:47.411272Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-01T04:25:47.411272Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411273Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-05-01T04:25:47.411273Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-01T04:25:47.411274Z 01O | ^ 2026-05-01T04:25:47.411292Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-05-01T04:25:47.411293Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-01T04:25:47.411294Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411294Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-05-01T04:25:47.411295Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-01T04:25:47.411296Z 01O | ^ 2026-05-01T04:25:47.411296Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-05-01T04:25:47.411297Z 01O 1436 | while (*nastr) { 2026-05-01T04:25:47.411297Z 01O | ^ 2026-05-01T04:25:47.411298Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-05-01T04:25:47.411298Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-05-01T04:25:47.411299Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411372Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-05-01T04:25:47.411373Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-05-01T04:25:47.411373Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411374Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-05-01T04:25:47.411375Z 01O 1464 | if (verbose) { 2026-05-01T04:25:47.411375Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411375Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-05-01T04:25:47.411376Z 01O 1464 | if (verbose) { 2026-05-01T04:25:47.411381Z 01O | ^ 2026-05-01T04:25:47.411382Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-05-01T04:25:47.411382Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-05-01T04:25:47.411383Z 01O | ^ 2026-05-01T04:25:47.411383Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-05-01T04:25:47.411384Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-01T04:25:47.411385Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411385Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-05-01T04:25:47.411386Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-01T04:25:47.411387Z 01O | ^ 2026-05-01T04:25:47.411448Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-05-01T04:25:47.411449Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-01T04:25:47.411449Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411450Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-05-01T04:25:47.411450Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-01T04:25:47.411451Z 01O | ^ 2026-05-01T04:25:47.411455Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-05-01T04:25:47.411456Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-01T04:25:47.411457Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.411457Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-05-01T04:25:47.411458Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-01T04:25:47.411459Z 01O | ^ 2026-05-01T04:25:47.411459Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-05-01T04:25:47.411460Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-01T04:25:47.411460Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411461Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-05-01T04:25:47.411461Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-01T04:25:47.411462Z 01O | ^ 2026-05-01T04:25:47.411462Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-05-01T04:25:47.411463Z 01O 1515 | if (args.input) { 2026-05-01T04:25:47.411463Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.411546Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-05-01T04:25:47.411547Z 01O 1515 | if (args.input) { 2026-05-01T04:25:47.411547Z 01O | ^ 2026-05-01T04:25:47.411547Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-05-01T04:25:47.411548Z 01O 1522 | else if (args.filename) { 2026-05-01T04:25:47.411549Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.411549Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-05-01T04:25:47.411550Z 01O 1522 | else if (args.filename) { 2026-05-01T04:25:47.411550Z 01O | ^ 2026-05-01T04:25:47.411551Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-05-01T04:25:47.411551Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-05-01T04:25:47.411552Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411552Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-05-01T04:25:47.411558Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-05-01T04:25:47.411558Z 01O | ^ 2026-05-01T04:25:47.411561Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-05-01T04:25:47.411562Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-05-01T04:25:47.411562Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411563Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-05-01T04:25:47.411564Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-05-01T04:25:47.411564Z 01O | ^~~~~~ 2026-05-01T04:25:47.411565Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-05-01T04:25:47.411565Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-05-01T04:25:47.411566Z 01O | ^ 2026-05-01T04:25:47.411568Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-05-01T04:25:47.411569Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-05-01T04:25:47.411569Z 01O | ^ ~~ 2026-05-01T04:25:47.411666Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.411667Z 01O 1780 | pos = ch; 2026-05-01T04:25:47.411668Z 01O | ^ ~~ 2026-05-01T04:25:47.411668Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-05-01T04:25:47.411669Z 01O 1780 | pos = ch; 2026-05-01T04:25:47.411669Z 01O | ^ ~~ 2026-05-01T04:25:47.411670Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: warning: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' [clang-analyzer-optin.core.EnumCastOutOfRange] 2026-05-01T04:25:47.411671Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-05-01T04:25:47.411671Z 01O | ^~ 2026-05-01T04:25:47.411717Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-05-01T04:25:47.411717Z 01O 38 | enum quote_rule_t 2026-05-01T04:25:47.411718Z 01O | ~~~~~^~~~~~~~~~~~ 2026-05-01T04:25:47.411718Z 01O 39 | { 2026-05-01T04:25:47.411719Z 01O | ~ 2026-05-01T04:25:47.411719Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-05-01T04:25:47.411720Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411720Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-05-01T04:25:47.411721Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411722Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-05-01T04:25:47.411722Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411723Z 01O 43 | 2026-05-01T04:25:47.411723Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-05-01T04:25:47.411724Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411724Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-05-01T04:25:47.411725Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411725Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-05-01T04:25:47.411726Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411726Z 01O 47 | 2026-05-01T04:25:47.411727Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-05-01T04:25:47.411728Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411728Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-05-01T04:25:47.411729Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411734Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-05-01T04:25:47.411735Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411735Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-05-01T04:25:47.411736Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411737Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-05-01T04:25:47.411737Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411738Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-05-01T04:25:47.411739Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411739Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-05-01T04:25:47.411740Z 01O 1410 | if (freadCleanup()) { 2026-05-01T04:25:47.411740Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.411741Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-05-01T04:25:47.411741Z 01O 1410 | if (freadCleanup()) { 2026-05-01T04:25:47.411742Z 01O | ^ 2026-05-01T04:25:47.411742Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.411743Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-01T04:25:47.411743Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411744Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-05-01T04:25:47.411745Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-01T04:25:47.411745Z 01O | ^ 2026-05-01T04:25:47.411746Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-05-01T04:25:47.411746Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-01T04:25:47.411747Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.411747Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-05-01T04:25:47.411748Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-01T04:25:47.411748Z 01O | ^ 2026-05-01T04:25:47.411766Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-05-01T04:25:47.411767Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-01T04:25:47.411768Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.411768Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-05-01T04:25:47.411769Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-01T04:25:47.411769Z 01O | ^ 2026-05-01T04:25:47.411772Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-05-01T04:25:47.411772Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-01T04:25:47.411773Z 01O | ^~~ 2026-05-01T04:25:47.411773Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-05-01T04:25:47.411774Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-01T04:25:47.411774Z 01O | ^ 2026-05-01T04:25:47.411864Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-05-01T04:25:47.411865Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-01T04:25:47.411866Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411866Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-05-01T04:25:47.411867Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-01T04:25:47.411868Z 01O | ^ 2026-05-01T04:25:47.411872Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-05-01T04:25:47.411872Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-01T04:25:47.411878Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411879Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-05-01T04:25:47.411879Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-01T04:25:47.411880Z 01O | ^ 2026-05-01T04:25:47.411881Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-05-01T04:25:47.411881Z 01O 1436 | while (*nastr) { 2026-05-01T04:25:47.411882Z 01O | ^ 2026-05-01T04:25:47.411964Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-05-01T04:25:47.411965Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-05-01T04:25:47.411966Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411966Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-05-01T04:25:47.411967Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-05-01T04:25:47.411968Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411968Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-05-01T04:25:47.411969Z 01O 1464 | if (verbose) { 2026-05-01T04:25:47.411969Z 01O | ^~~~~~~ 2026-05-01T04:25:47.411970Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-05-01T04:25:47.411970Z 01O 1464 | if (verbose) { 2026-05-01T04:25:47.411971Z 01O | ^ 2026-05-01T04:25:47.411975Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-05-01T04:25:47.411975Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-05-01T04:25:47.411976Z 01O | ^ 2026-05-01T04:25:47.411976Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-05-01T04:25:47.411977Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-01T04:25:47.411978Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411978Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-05-01T04:25:47.411979Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-01T04:25:47.411980Z 01O | ^ 2026-05-01T04:25:47.411983Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-05-01T04:25:47.411983Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-01T04:25:47.411984Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.411985Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-05-01T04:25:47.411985Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-01T04:25:47.411986Z 01O | ^ 2026-05-01T04:25:47.412085Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-05-01T04:25:47.412085Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-01T04:25:47.412086Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.412087Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-05-01T04:25:47.412087Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-01T04:25:47.412088Z 01O | ^ 2026-05-01T04:25:47.412088Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-05-01T04:25:47.412093Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-01T04:25:47.412094Z 01O | ^~~~~~~ 2026-05-01T04:25:47.412098Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-05-01T04:25:47.412099Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-01T04:25:47.412099Z 01O | ^ 2026-05-01T04:25:47.412100Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-05-01T04:25:47.412101Z 01O 1515 | if (args.input) { 2026-05-01T04:25:47.412101Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.412101Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-05-01T04:25:47.412102Z 01O 1515 | if (args.input) { 2026-05-01T04:25:47.412102Z 01O | ^ 2026-05-01T04:25:47.412103Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-05-01T04:25:47.412104Z 01O 1522 | else if (args.filename) { 2026-05-01T04:25:47.412104Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.412107Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-05-01T04:25:47.412118Z 01O 1522 | else if (args.filename) { 2026-05-01T04:25:47.412119Z 01O | ^ 2026-05-01T04:25:47.412119Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-05-01T04:25:47.412120Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-05-01T04:25:47.412121Z 01O | ^ 2026-05-01T04:25:47.412184Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-05-01T04:25:47.412185Z 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-05-01T04:25:47.412186Z 01O | ^ 2026-05-01T04:25:47.412186Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-05-01T04:25:47.412187Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-05-01T04:25:47.412187Z 01O | ^~~~~~~ 2026-05-01T04:25:47.412188Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-05-01T04:25:47.412188Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-05-01T04:25:47.412189Z 01O | ^ 2026-05-01T04:25:47.412189Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-05-01T04:25:47.412190Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-05-01T04:25:47.412191Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.412191Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-05-01T04:25:47.412192Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-05-01T04:25:47.412192Z 01O | ^ 2026-05-01T04:25:47.412282Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-05-01T04:25:47.412283Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-05-01T04:25:47.412283Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.412284Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-05-01T04:25:47.412284Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-05-01T04:25:47.412285Z 01O | ^ 2026-05-01T04:25:47.412288Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-05-01T04:25:47.412289Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-05-01T04:25:47.412290Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.412290Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-05-01T04:25:47.412297Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-05-01T04:25:47.412298Z 01O | ^ 2026-05-01T04:25:47.412303Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-05-01T04:25:47.412303Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-05-01T04:25:47.412304Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.412304Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-05-01T04:25:47.412305Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-05-01T04:25:47.412306Z 01O | ^ 2026-05-01T04:25:47.412306Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-05-01T04:25:47.412307Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-05-01T04:25:47.412307Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.412308Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-05-01T04:25:47.412308Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-05-01T04:25:47.412309Z 01O | ^ 2026-05-01T04:25:47.412309Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-05-01T04:25:47.412310Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-05-01T04:25:47.412311Z 01O | ^~~~~~~ 2026-05-01T04:25:47.412385Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-05-01T04:25:47.412386Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-05-01T04:25:47.412387Z 01O | ^ 2026-05-01T04:25:47.412390Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-05-01T04:25:47.412390Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-05-01T04:25:47.412391Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412392Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-05-01T04:25:47.412392Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-05-01T04:25:47.412393Z 01O | ^ 2026-05-01T04:25:47.412393Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-05-01T04:25:47.412394Z 01O 1649 | while (ch < sample_end) { 2026-05-01T04:25:47.412395Z 01O | ^ 2026-05-01T04:25:47.412397Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-05-01T04:25:47.412398Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-05-01T04:25:47.412399Z 01O | ^~~~~~~ 2026-05-01T04:25:47.412399Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-05-01T04:25:47.412400Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-05-01T04:25:47.412400Z 01O | ^ 2026-05-01T04:25:47.412404Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-05-01T04:25:47.412405Z 01O 1674 | if (args.filename) { 2026-05-01T04:25:47.412405Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.412406Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-05-01T04:25:47.412407Z 01O 1674 | if (args.filename) { 2026-05-01T04:25:47.412407Z 01O | ^ 2026-05-01T04:25:47.412499Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-05-01T04:25:47.412500Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-05-01T04:25:47.412500Z 01O | ^~~~~~~ 2026-05-01T04:25:47.412501Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-05-01T04:25:47.412506Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-05-01T04:25:47.412507Z 01O | ^ 2026-05-01T04:25:47.412507Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-05-01T04:25:47.412508Z 01O 1752 | if (args.skipString) { 2026-05-01T04:25:47.412508Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412509Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-05-01T04:25:47.412509Z 01O 1752 | if (args.skipString) { 2026-05-01T04:25:47.412510Z 01O | ^ 2026-05-01T04:25:47.412512Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-05-01T04:25:47.412513Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-05-01T04:25:47.412513Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412516Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-05-01T04:25:47.412516Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-05-01T04:25:47.412517Z 01O | ^ 2026-05-01T04:25:47.412519Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-05-01T04:25:47.412520Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-05-01T04:25:47.412521Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.412521Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-05-01T04:25:47.412522Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-05-01T04:25:47.412523Z 01O | ^ 2026-05-01T04:25:47.412595Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-05-01T04:25:47.412596Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-05-01T04:25:47.412597Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.412597Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-05-01T04:25:47.412598Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-05-01T04:25:47.412599Z 01O | ^ 2026-05-01T04:25:47.412599Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-05-01T04:25:47.412600Z 01O 1789 | if (verbose) { 2026-05-01T04:25:47.412600Z 01O | ^~~~~~~ 2026-05-01T04:25:47.412601Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-05-01T04:25:47.412601Z 01O 1789 | if (verbose) { 2026-05-01T04:25:47.412602Z 01O | ^ 2026-05-01T04:25:47.412605Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-05-01T04:25:47.412606Z 01O 1807 | int jumpLines = nrowLimit == 0 ? 100 : (int)umin(100, nrowLimit); // how many lines from each jump point to use. If nrows>0 is supplied, nJumps is later set to 1. #4029 2026-05-01T04:25:47.412607Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.412607Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-05-01T04:25:47.412611Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-05-01T04:25:47.412612Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-05-01T04:25:47.412612Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412613Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-05-01T04:25:47.412613Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-05-01T04:25:47.412614Z 01O | ^ 2026-05-01T04:25:47.412686Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-05-01T04:25:47.412686Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-05-01T04:25:47.412687Z 01O | ^~~~~~~ 2026-05-01T04:25:47.412688Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-05-01T04:25:47.412688Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-05-01T04:25:47.412689Z 01O | ^ 2026-05-01T04:25:47.412689Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-05-01T04:25:47.412690Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-05-01T04:25:47.412691Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412695Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-05-01T04:25:47.412696Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-05-01T04:25:47.412696Z 01O | ^ 2026-05-01T04:25:47.412697Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-05-01T04:25:47.412697Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-05-01T04:25:47.412698Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.412699Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-05-01T04:25:47.412702Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-05-01T04:25:47.412703Z 01O 1836 | if (args.sep == '\0') { 2026-05-01T04:25:47.412703Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412704Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-05-01T04:25:47.412704Z 01O 1836 | if (args.sep == '\0') { 2026-05-01T04:25:47.412705Z 01O | ^ 2026-05-01T04:25:47.412705Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-05-01T04:25:47.412706Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-05-01T04:25:47.412707Z 01O | ^~~~~~~ 2026-05-01T04:25:47.412797Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-05-01T04:25:47.412798Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-05-01T04:25:47.412798Z 01O | ^ 2026-05-01T04:25:47.412799Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-05-01T04:25:47.412800Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-05-01T04:25:47.412800Z 01O | ^~ 2026-05-01T04:25:47.412804Z 01O /builds/Rdatatable/data.table/src/fread.c:1885:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.412805Z 01O 1885 | const char *prevLineStart = ch, *lineStart = ch; 2026-05-01T04:25:47.412806Z 01O | ^~~~~~~~~~~~~ ~~ 2026-05-01T04:25:47.412806Z 01O /builds/Rdatatable/data.table/src/fread.c:1885:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-05-01T04:25:47.412807Z 01O 1885 | const char *prevLineStart = ch, *lineStart = ch; 2026-05-01T04:25:47.412808Z 01O | ^~~~~~~~~~~~~ ~~ 2026-05-01T04:25:47.412808Z 01O /builds/Rdatatable/data.table/src/fread.c:2273:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.412809Z 01O 2273 | estnrow = 1; 2026-05-01T04:25:47.412810Z 01O | ^ ~ 2026-05-01T04:25:47.412810Z 01O /builds/Rdatatable/data.table/src/fread.c:2273:3: note: Value stored to 'estnrow' is never read 2026-05-01T04:25:47.412815Z 01O 2273 | estnrow = 1; 2026-05-01T04:25:47.412816Z 01O | ^ ~ 2026-05-01T04:25:47.412819Z 01O /builds/Rdatatable/data.table/src/fread.c:2274:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.412819Z 01O 2274 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-05-01T04:25:47.412820Z 01O | ^ ~ 2026-05-01T04:25:47.412820Z 01O /builds/Rdatatable/data.table/src/fread.c:2274:3: note: Value stored to 'allocnrow' is never read 2026-05-01T04:25:47.412821Z 01O 2274 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-05-01T04:25:47.412822Z 01O | ^ ~ 2026-05-01T04:25:47.412897Z 01O /builds/Rdatatable/data.table/src/fread.c:2280:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.412899Z 01O 2280 | estnrow = allocnrow = sampleLines; 2026-05-01T04:25:47.412899Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412900Z 01O /builds/Rdatatable/data.table/src/fread.c:2280:5: note: Value stored to 'estnrow' is never read 2026-05-01T04:25:47.412901Z 01O 2280 | estnrow = allocnrow = sampleLines; 2026-05-01T04:25:47.412901Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412902Z 01O /builds/Rdatatable/data.table/src/fread.c:2304:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.412902Z 01O 2304 | estnrow = allocnrow = nrowLimit; 2026-05-01T04:25:47.412903Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412903Z 01O /builds/Rdatatable/data.table/src/fread.c:2304:5: note: Value stored to 'estnrow' is never read 2026-05-01T04:25:47.412904Z 01O 2304 | estnrow = allocnrow = nrowLimit; 2026-05-01T04:25:47.412905Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412911Z 01O /builds/Rdatatable/data.table/src/fread.c:2482:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.412912Z 01O 2482 | nth = imin(nJumps, nth); 2026-05-01T04:25:47.412912Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412913Z 01O /builds/Rdatatable/data.table/src/fread.c:2482:3: note: Value stored to 'nth' is never read 2026-05-01T04:25:47.412913Z 01O 2482 | nth = imin(nJumps, nth); 2026-05-01T04:25:47.412914Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.412998Z 01O /builds/Rdatatable/data.table/src/fread.c:2738: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-05-01T04:25:47.412999Z 01O 2738 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-05-01T04:25:47.413000Z 01O | ^~~~~~ 2026-05-01T04:25:47.413001Z 01O /builds/Rdatatable/data.table/src/fread.c:2738: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-05-01T04:25:47.413002Z 01O 2738 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-05-01T04:25:47.413002Z 01O | ^~~~~~ 2026-05-01T04:25:47.413025Z 01O /builds/Rdatatable/data.table/src/fread.c:2772:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.413026Z 01O 2772 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-05-01T04:25:47.413026Z 01O | ^ ~~~ 2026-05-01T04:25:47.413027Z 01O /builds/Rdatatable/data.table/src/fread.c:2772:73: note: Value stored to 'tLast' is never read 2026-05-01T04:25:47.413028Z 01O 2772 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-05-01T04:25:47.413034Z 01O | ^ ~~~ 2026-05-01T04:25:47.413133Z 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-05-01T04:25:47.413134Z 01O 789 | if (state->buffer[i] == '\n') { 2026-05-01T04:25:47.413135Z 01O | ^ ~~~~~~ 2026-05-01T04:25:47.413135Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-05-01T04:25:47.413136Z 01O 768 | if (state->outfile == NULL) { 2026-05-01T04:25:47.413137Z 01O | ^ 2026-05-01T04:25:47.413137Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-05-01T04:25:47.413138Z 01O 768 | if (state->outfile == NULL) { 2026-05-01T04:25:47.413138Z 01O | ^ 2026-05-01T04:25:47.413143Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-05-01T04:25:47.413143Z 01O 772 | state->buffer = malloc(chunk_size); 2026-05-01T04:25:47.413144Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413144Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-05-01T04:25:47.413145Z 01O 773 | if (!state->buffer) { 2026-05-01T04:25:47.413145Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.413146Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-05-01T04:25:47.413147Z 01O 773 | if (!state->buffer) { 2026-05-01T04:25:47.413147Z 01O | ^ 2026-05-01T04:25:47.413147Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-05-01T04:25:47.413148Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-01T04:25:47.413149Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413149Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.413150Z 01O 780 | while (true) { 2026-05-01T04:25:47.413150Z 01O | ^ 2026-05-01T04:25:47.413151Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-01T04:25:47.413151Z 01O 782 | if (nread == 0) { 2026-05-01T04:25:47.413152Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.413154Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-01T04:25:47.413154Z 01O 782 | if (nread == 0) { 2026-05-01T04:25:47.413155Z 01O | ^ 2026-05-01T04:25:47.413224Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-05-01T04:25:47.413225Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-01T04:25:47.413225Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.413226Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-05-01T04:25:47.413226Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-05-01T04:25:47.413227Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-01T04:25:47.413228Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.413228Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-05-01T04:25:47.413229Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-01T04:25:47.413229Z 01O | ^ 2026-05-01T04:25:47.413230Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-05-01T04:25:47.413230Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-05-01T04:25:47.413231Z 01O | ^ 2026-05-01T04:25:47.413235Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.413243Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-05-01T04:25:47.413243Z 01O | ^ 2026-05-01T04:25:47.413244Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-05-01T04:25:47.413244Z 01O 789 | if (state->buffer[i] == '\n') { 2026-05-01T04:25:47.413245Z 01O | ^ ~~~~~~ 2026-05-01T04:25:47.413246Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-05-01T04:25:47.413246Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-01T04:25:47.413247Z 01O | ^ ~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413248Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-05-01T04:25:47.413248Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-01T04:25:47.413249Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413320Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-05-01T04:25:47.413321Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-01T04:25:47.413322Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413326Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-05-01T04:25:47.413326Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-01T04:25:47.413327Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413328Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-05-01T04:25:47.413328Z 01O 768 | if (state->outfile == NULL) { 2026-05-01T04:25:47.413329Z 01O | ^ 2026-05-01T04:25:47.413329Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-05-01T04:25:47.413330Z 01O 768 | if (state->outfile == NULL) { 2026-05-01T04:25:47.413330Z 01O | ^ 2026-05-01T04:25:47.413331Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-05-01T04:25:47.413331Z 01O 773 | if (!state->buffer) { 2026-05-01T04:25:47.413332Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.413332Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-05-01T04:25:47.413333Z 01O 773 | if (!state->buffer) { 2026-05-01T04:25:47.413333Z 01O | ^ 2026-05-01T04:25:47.413334Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-05-01T04:25:47.413335Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-01T04:25:47.413335Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413338Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.413338Z 01O 780 | while (true) { 2026-05-01T04:25:47.413339Z 01O | ^ 2026-05-01T04:25:47.413339Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-01T04:25:47.413340Z 01O 782 | if (nread == 0) { 2026-05-01T04:25:47.413340Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.413342Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-01T04:25:47.413343Z 01O 782 | if (nread == 0) { 2026-05-01T04:25:47.413343Z 01O | ^ 2026-05-01T04:25:47.413347Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-05-01T04:25:47.413347Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-01T04:25:47.413348Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.413348Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-05-01T04:25:47.413349Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-01T04:25:47.413354Z 01O | ^ 2026-05-01T04:25:47.413443Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-05-01T04:25:47.413444Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-01T04:25:47.413445Z 01O | ^ ~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413445Z 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-05-01T04:25:47.413446Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-01T04:25:47.413447Z 01O | ^ ~~~~~~~~~~~~~ 2026-05-01T04:25:47.413447Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-05-01T04:25:47.413448Z 01O 768 | if (state->outfile == NULL) { 2026-05-01T04:25:47.413448Z 01O | ^ 2026-05-01T04:25:47.413449Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-05-01T04:25:47.413450Z 01O 768 | if (state->outfile == NULL) { 2026-05-01T04:25:47.413450Z 01O | ^ 2026-05-01T04:25:47.413450Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-05-01T04:25:47.413451Z 01O 772 | state->buffer = malloc(chunk_size); 2026-05-01T04:25:47.413452Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413452Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-05-01T04:25:47.413453Z 01O 773 | if (!state->buffer) { 2026-05-01T04:25:47.413453Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.413454Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-05-01T04:25:47.413454Z 01O 773 | if (!state->buffer) { 2026-05-01T04:25:47.413455Z 01O | ^ 2026-05-01T04:25:47.413455Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-05-01T04:25:47.413456Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-01T04:25:47.413456Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.413457Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.413458Z 01O 780 | while (true) { 2026-05-01T04:25:47.413458Z 01O | ^ 2026-05-01T04:25:47.413462Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-01T04:25:47.413463Z 01O 782 | if (nread == 0) { 2026-05-01T04:25:47.413463Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.413464Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-01T04:25:47.413464Z 01O 782 | if (nread == 0) { 2026-05-01T04:25:47.413465Z 01O | ^ 2026-05-01T04:25:47.413465Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-05-01T04:25:47.413466Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-01T04:25:47.413466Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.413572Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-05-01T04:25:47.413573Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-01T04:25:47.413573Z 01O | ^ 2026-05-01T04:25:47.413574Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-05-01T04:25:47.413575Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-01T04:25:47.413575Z 01O | ^ ~~~~~~~~~~~~~ 2026-05-01T04:25:47.413587Z 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-05-01T04:25:47.413593Z 01O 1362 | next[p] = tail; 2026-05-01T04:25:47.413593Z 01O | ^ 2026-05-01T04:25:47.413594Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.413594Z 01O 1504 | if (verbose) 2026-05-01T04:25:47.413595Z 01O | ^~~~~~~ 2026-05-01T04:25:47.413595Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-05-01T04:25:47.413596Z 01O 1504 | if (verbose) 2026-05-01T04:25:47.413597Z 01O | ^ 2026-05-01T04:25:47.413597Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-05-01T04:25:47.413598Z 01O 1506 | if (k == 0) { 2026-05-01T04:25:47.413598Z 01O | ^~~~~~ 2026-05-01T04:25:47.413598Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-01T04:25:47.413599Z 01O 1506 | if (k == 0) { 2026-05-01T04:25:47.413600Z 01O | ^ 2026-05-01T04:25:47.413600Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-05-01T04:25:47.413601Z 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-05-01T04:25:47.413601Z 01O | ^~~~~~ 2026-05-01T04:25:47.413602Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-05-01T04:25:47.413684Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-05-01T04:25:47.413685Z 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-05-01T04:25:47.413685Z 01O | ^~~~~~ 2026-05-01T04:25:47.413688Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-05-01T04:25:47.413689Z 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-05-01T04:25:47.413690Z 01O | ^ 2026-05-01T04:25:47.413690Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-05-01T04:25:47.413691Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.413691Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.413692Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-05-01T04:25:47.413692Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.413693Z 01O | ^ 2026-05-01T04:25:47.413695Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-05-01T04:25:47.413696Z 01O 1565 | if (nx_mod_k) { 2026-05-01T04:25:47.413696Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.413703Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-05-01T04:25:47.413704Z 01O 1565 | if (nx_mod_k) { 2026-05-01T04:25:47.413704Z 01O | ^ 2026-05-01T04:25:47.413705Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-05-01T04:25:47.413705Z 01O 1572 | bool even = !(k % 2); 2026-05-01T04:25:47.413706Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.413706Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-05-01T04:25:47.413707Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-05-01T04:25:47.413707Z 01O | ^~~~ 2026-05-01T04:25:47.413708Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-05-01T04:25:47.413795Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-05-01T04:25:47.413796Z 01O 1577 | if (!o) { // # nocov start 2026-05-01T04:25:47.413796Z 01O | ^~ 2026-05-01T04:25:47.413797Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-05-01T04:25:47.413797Z 01O 1577 | if (!o) { // # nocov start 2026-05-01T04:25:47.413798Z 01O | ^ 2026-05-01T04:25:47.413798Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-05-01T04:25:47.413804Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-01T04:25:47.413804Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.413805Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-05-01T04:25:47.413805Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-01T04:25:47.413806Z 01O | ^ 2026-05-01T04:25:47.413807Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-05-01T04:25:47.413807Z 01O 1586 | if (!m) { // # nocov start 2026-05-01T04:25:47.413808Z 01O | ^~ 2026-05-01T04:25:47.413808Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-05-01T04:25:47.413809Z 01O 1586 | if (!m) { // # nocov start 2026-05-01T04:25:47.413809Z 01O | ^ 2026-05-01T04:25:47.413813Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-05-01T04:25:47.413813Z 01O 1592 | if (!n) { // # nocov start 2026-05-01T04:25:47.413814Z 01O | ^~ 2026-05-01T04:25:47.413814Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-05-01T04:25:47.413815Z 01O 1592 | if (!n) { // # nocov start 2026-05-01T04:25:47.413815Z 01O | ^ 2026-05-01T04:25:47.413816Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-05-01T04:25:47.413816Z 01O 1598 | if (!s) { // # nocov start 2026-05-01T04:25:47.413817Z 01O | ^~ 2026-05-01T04:25:47.413817Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-05-01T04:25:47.413818Z 01O 1598 | if (!s) { // # nocov start 2026-05-01T04:25:47.413818Z 01O | ^ 2026-05-01T04:25:47.413819Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-05-01T04:25:47.413819Z 01O 1604 | if (!prev) { // # nocov start 2026-05-01T04:25:47.413820Z 01O | ^~~~~ 2026-05-01T04:25:47.413822Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-05-01T04:25:47.413823Z 01O 1604 | if (!prev) { // # nocov start 2026-05-01T04:25:47.413823Z 01O | ^ 2026-05-01T04:25:47.413898Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-05-01T04:25:47.413899Z 01O 1610 | if (!next) { // # nocov start 2026-05-01T04:25:47.413900Z 01O | ^~~~~ 2026-05-01T04:25:47.413900Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-05-01T04:25:47.413901Z 01O 1610 | if (!next) { // # nocov start 2026-05-01T04:25:47.413901Z 01O | ^ 2026-05-01T04:25:47.413902Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-05-01T04:25:47.413902Z 01O 1616 | if (verbose) 2026-05-01T04:25:47.413903Z 01O | ^~~~~~~ 2026-05-01T04:25:47.413903Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-05-01T04:25:47.413904Z 01O 1616 | if (verbose) 2026-05-01T04:25:47.413904Z 01O | ^ 2026-05-01T04:25:47.413905Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-05-01T04:25:47.413905Z 01O 1619 | for (int j=0; j= 'k' 2026-05-01T04:25:47.414007Z 01O 1356 | for (int i=0; i=0) { 2026-05-01T04:25:47.414125Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.414125Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-05-01T04:25:47.414126Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.414126Z 01O | ^ 2026-05-01T04:25:47.414127Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-05-01T04:25:47.414128Z 01O 1565 | if (nx_mod_k) { 2026-05-01T04:25:47.414128Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.414128Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-05-01T04:25:47.414129Z 01O 1565 | if (nx_mod_k) { 2026-05-01T04:25:47.414129Z 01O | ^ 2026-05-01T04:25:47.414141Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-05-01T04:25:47.414141Z 01O 1572 | bool even = !(k % 2); 2026-05-01T04:25:47.414142Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.414142Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-05-01T04:25:47.414143Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-05-01T04:25:47.414144Z 01O | ^~~~ 2026-05-01T04:25:47.414144Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-05-01T04:25:47.414145Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-05-01T04:25:47.414145Z 01O 1577 | if (!o) { // # nocov start 2026-05-01T04:25:47.414146Z 01O | ^~ 2026-05-01T04:25:47.414146Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-05-01T04:25:47.414147Z 01O 1577 | if (!o) { // # nocov start 2026-05-01T04:25:47.414147Z 01O | ^ 2026-05-01T04:25:47.414151Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-05-01T04:25:47.414151Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-01T04:25:47.414152Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.414152Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-05-01T04:25:47.414153Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-01T04:25:47.414154Z 01O | ^ 2026-05-01T04:25:47.414154Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-05-01T04:25:47.414155Z 01O 1586 | if (!m) { // # nocov start 2026-05-01T04:25:47.414155Z 01O | ^~ 2026-05-01T04:25:47.414156Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-05-01T04:25:47.414156Z 01O 1586 | if (!m) { // # nocov start 2026-05-01T04:25:47.414157Z 01O | ^ 2026-05-01T04:25:47.414179Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-05-01T04:25:47.414180Z 01O 1592 | if (!n) { // # nocov start 2026-05-01T04:25:47.414181Z 01O | ^~ 2026-05-01T04:25:47.414181Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-05-01T04:25:47.414182Z 01O 1592 | if (!n) { // # nocov start 2026-05-01T04:25:47.414182Z 01O | ^ 2026-05-01T04:25:47.414203Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-05-01T04:25:47.414204Z 01O 1598 | if (!s) { // # nocov start 2026-05-01T04:25:47.414205Z 01O | ^~ 2026-05-01T04:25:47.414205Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-05-01T04:25:47.414206Z 01O 1598 | if (!s) { // # nocov start 2026-05-01T04:25:47.414212Z 01O | ^ 2026-05-01T04:25:47.414212Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-05-01T04:25:47.414213Z 01O 1604 | if (!prev) { // # nocov start 2026-05-01T04:25:47.414214Z 01O | ^~~~~ 2026-05-01T04:25:47.414214Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-05-01T04:25:47.414215Z 01O 1604 | if (!prev) { // # nocov start 2026-05-01T04:25:47.414215Z 01O | ^ 2026-05-01T04:25:47.414216Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-05-01T04:25:47.414216Z 01O 1610 | if (!next) { // # nocov start 2026-05-01T04:25:47.414217Z 01O | ^~~~~ 2026-05-01T04:25:47.414217Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-05-01T04:25:47.414218Z 01O 1610 | if (!next) { // # nocov start 2026-05-01T04:25:47.414218Z 01O | ^ 2026-05-01T04:25:47.414219Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2026-05-01T04:25:47.414219Z 01O 1616 | if (verbose) 2026-05-01T04:25:47.414220Z 01O | ^~~~~~~ 2026-05-01T04:25:47.414220Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2026-05-01T04:25:47.414221Z 01O 1616 | if (verbose) 2026-05-01T04:25:47.414221Z 01O | ^ 2026-05-01T04:25:47.414350Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-05-01T04:25:47.414351Z 01O 1619 | for (int j=0; j= 'b' 2026-05-01T04:25:47.414527Z 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-05-01T04:25:47.414538Z 01O | ^~~ 2026-05-01T04:25:47.414539Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2026-05-01T04:25:47.414539Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.414540Z 01O 1631 | for (int i=0; i= 'm' 2026-05-01T04:25:47.414826Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-05-01T04:25:47.414827Z 01O | ^~~~~ 2026-05-01T04:25:47.414828Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:7: note: Returning from 'small' 2026-05-01T04:25:47.414828Z 01O 1391 | if (SMALL(i)) { 2026-05-01T04:25:47.414829Z 01O | ^ 2026-05-01T04:25:47.414829Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-05-01T04:25:47.414830Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-05-01T04:25:47.414830Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.414831Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:3: note: Taking false branch 2026-05-01T04:25:47.414831Z 01O 1391 | if (SMALL(i)) { 2026-05-01T04:25:47.414832Z 01O | ^ 2026-05-01T04:25:47.414832Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:9: note: Assuming the condition is false 2026-05-01T04:25:47.414833Z 01O 1394 | if (m[0] == i) { 2026-05-01T04:25:47.414833Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.414834Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:5: note: Taking false branch 2026-05-01T04:25:47.414835Z 01O 1394 | if (m[0] == i) { 2026-05-01T04:25:47.414835Z 01O | ^ 2026-05-01T04:25:47.414835Z 01O /builds/Rdatatable/data.table/src/froll.c:1397:5: note: Taking true branch 2026-05-01T04:25:47.414836Z 01O 1397 | if (s[0] > 0) { 2026-05-01T04:25:47.414837Z 01O | ^ 2026-05-01T04:25:47.414837Z 01O /builds/Rdatatable/data.table/src/froll.c:1398:14: note: Access of the heap area at negative byte offset 2026-05-01T04:25:47.414838Z 01O 1398 | m[0] = prev[m[0]]; 2026-05-01T04:25:47.414843Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.414918Z 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-05-01T04:25:47.414919Z 01O 1469 | m[0] = prev[m[0]]; 2026-05-01T04:25:47.414920Z 01O | ^ 2026-05-01T04:25:47.414920Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.414921Z 01O 1504 | if (verbose) 2026-05-01T04:25:47.414921Z 01O | ^~~~~~~ 2026-05-01T04:25:47.414922Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-05-01T04:25:47.414922Z 01O 1504 | if (verbose) 2026-05-01T04:25:47.414923Z 01O | ^ 2026-05-01T04:25:47.414925Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-05-01T04:25:47.414926Z 01O 1506 | if (k == 0) { 2026-05-01T04:25:47.414926Z 01O | ^~~~~~ 2026-05-01T04:25:47.414927Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-01T04:25:47.414927Z 01O 1506 | if (k == 0) { 2026-05-01T04:25:47.414928Z 01O | ^ 2026-05-01T04:25:47.414931Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-05-01T04:25:47.414932Z 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-05-01T04:25:47.414932Z 01O | ^~~~~~ 2026-05-01T04:25:47.414933Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-05-01T04:25:47.414933Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-05-01T04:25:47.414934Z 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-05-01T04:25:47.414935Z 01O | ^~~~~~ 2026-05-01T04:25:47.414979Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-05-01T04:25:47.414980Z 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-05-01T04:25:47.414980Z 01O | ^ 2026-05-01T04:25:47.414981Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-05-01T04:25:47.414981Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.414982Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.414982Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-05-01T04:25:47.414983Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.414983Z 01O | ^ 2026-05-01T04:25:47.414984Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-05-01T04:25:47.414984Z 01O 1565 | if (nx_mod_k) { 2026-05-01T04:25:47.414985Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.414985Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-05-01T04:25:47.414986Z 01O 1565 | if (nx_mod_k) { 2026-05-01T04:25:47.414986Z 01O | ^ 2026-05-01T04:25:47.414987Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is true 2026-05-01T04:25:47.414987Z 01O 1572 | bool even = !(k % 2); 2026-05-01T04:25:47.414988Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.414994Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is true 2026-05-01T04:25:47.414995Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-05-01T04:25:47.414995Z 01O | ^~~~ 2026-05-01T04:25:47.414996Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is true 2026-05-01T04:25:47.414996Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-05-01T04:25:47.414997Z 01O 1577 | if (!o) { // # nocov start 2026-05-01T04:25:47.414998Z 01O | ^~ 2026-05-01T04:25:47.414998Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-05-01T04:25:47.415003Z 01O 1577 | if (!o) { // # nocov start 2026-05-01T04:25:47.415004Z 01O | ^ 2026-05-01T04:25:47.415090Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-05-01T04:25:47.415091Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-01T04:25:47.415092Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.415092Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-05-01T04:25:47.415093Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-01T04:25:47.415093Z 01O | ^ 2026-05-01T04:25:47.415096Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-05-01T04:25:47.415096Z 01O 1586 | if (!m) { // # nocov start 2026-05-01T04:25:47.415097Z 01O | ^~ 2026-05-01T04:25:47.415097Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-05-01T04:25:47.415098Z 01O 1586 | if (!m) { // # nocov start 2026-05-01T04:25:47.415098Z 01O | ^ 2026-05-01T04:25:47.415102Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-05-01T04:25:47.415102Z 01O 1592 | if (!n) { // # nocov start 2026-05-01T04:25:47.415103Z 01O | ^~ 2026-05-01T04:25:47.415103Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-05-01T04:25:47.415104Z 01O 1592 | if (!n) { // # nocov start 2026-05-01T04:25:47.415104Z 01O | ^ 2026-05-01T04:25:47.415105Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-05-01T04:25:47.415105Z 01O 1598 | if (!s) { // # nocov start 2026-05-01T04:25:47.415117Z 01O | ^~ 2026-05-01T04:25:47.415118Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-05-01T04:25:47.415118Z 01O 1598 | if (!s) { // # nocov start 2026-05-01T04:25:47.415119Z 01O | ^ 2026-05-01T04:25:47.415119Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-05-01T04:25:47.415120Z 01O 1604 | if (!prev) { // # nocov start 2026-05-01T04:25:47.415120Z 01O | ^~~~~ 2026-05-01T04:25:47.415122Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-05-01T04:25:47.415123Z 01O 1604 | if (!prev) { // # nocov start 2026-05-01T04:25:47.415124Z 01O | ^ 2026-05-01T04:25:47.415196Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-05-01T04:25:47.415197Z 01O 1610 | if (!next) { // # nocov start 2026-05-01T04:25:47.415197Z 01O | ^~~~~ 2026-05-01T04:25:47.415198Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-05-01T04:25:47.415198Z 01O 1610 | if (!next) { // # nocov start 2026-05-01T04:25:47.415199Z 01O | ^ 2026-05-01T04:25:47.415199Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-05-01T04:25:47.415200Z 01O 1616 | if (verbose) 2026-05-01T04:25:47.415200Z 01O | ^~~~~~~ 2026-05-01T04:25:47.415201Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-05-01T04:25:47.415201Z 01O 1616 | if (verbose) 2026-05-01T04:25:47.415202Z 01O | ^ 2026-05-01T04:25:47.415204Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-05-01T04:25:47.415205Z 01O 1619 | for (int j=0; j= 'b' 2026-05-01T04:25:47.415405Z 01O 1619 | for (int j=0; j= 'm' 2026-05-01T04:25:47.415677Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-05-01T04:25:47.415677Z 01O | ^~~~~ 2026-05-01T04:25:47.415678Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:7: note: Returning from 'small' 2026-05-01T04:25:47.415679Z 01O 1458 | if (SMALL(i)) { 2026-05-01T04:25:47.415679Z 01O | ^ 2026-05-01T04:25:47.415681Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-05-01T04:25:47.415682Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-05-01T04:25:47.415687Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.415688Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking false branch 2026-05-01T04:25:47.415689Z 01O 1458 | if (SMALL(i)) { 2026-05-01T04:25:47.415689Z 01O | ^ 2026-05-01T04:25:47.415771Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:9: note: Assuming the condition is false 2026-05-01T04:25:47.415771Z 01O 1461 | if (m[0] == i) { 2026-05-01T04:25:47.415772Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.415772Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:5: note: Taking false branch 2026-05-01T04:25:47.415773Z 01O 1461 | if (m[0] == i) { 2026-05-01T04:25:47.415773Z 01O | ^ 2026-05-01T04:25:47.415777Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: 'even' is true 2026-05-01T04:25:47.415778Z 01O 1465 | } else if (even && n[0] == i) { 2026-05-01T04:25:47.415778Z 01O | ^~~~ 2026-05-01T04:25:47.415779Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: Left side of '&&' is true 2026-05-01T04:25:47.415779Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:24: note: Assuming the condition is false 2026-05-01T04:25:47.415780Z 01O 1465 | } else if (even && n[0] == i) { 2026-05-01T04:25:47.415781Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.415781Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:12: note: Taking false branch 2026-05-01T04:25:47.415782Z 01O 1465 | } else if (even && n[0] == i) { 2026-05-01T04:25:47.415782Z 01O | ^ 2026-05-01T04:25:47.415783Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:9: note: Assuming the condition is true 2026-05-01T04:25:47.415783Z 01O 1468 | if (s[0] > 0) { 2026-05-01T04:25:47.415784Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.415786Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:5: note: Taking true branch 2026-05-01T04:25:47.415786Z 01O 1468 | if (s[0] > 0) { 2026-05-01T04:25:47.415787Z 01O | ^ 2026-05-01T04:25:47.415789Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: note: Access of the heap area at negative byte offset 2026-05-01T04:25:47.415790Z 01O 1469 | m[0] = prev[m[0]]; 2026-05-01T04:25:47.415790Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.415904Z 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-05-01T04:25:47.415905Z 01O 1576 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-05-01T04:25:47.415906Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.415906Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.415907Z 01O 1504 | if (verbose) 2026-05-01T04:25:47.415907Z 01O | ^~~~~~~ 2026-05-01T04:25:47.415908Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-05-01T04:25:47.415908Z 01O 1504 | if (verbose) 2026-05-01T04:25:47.415909Z 01O | ^ 2026-05-01T04:25:47.415909Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-05-01T04:25:47.415910Z 01O 1506 | if (k == 0) { 2026-05-01T04:25:47.415910Z 01O | ^~~~~~ 2026-05-01T04:25:47.415911Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-01T04:25:47.415911Z 01O 1506 | if (k == 0) { 2026-05-01T04:25:47.415912Z 01O | ^ 2026-05-01T04:25:47.415916Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-05-01T04:25:47.415917Z 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-05-01T04:25:47.415918Z 01O | ^~~~~~ 2026-05-01T04:25:47.415918Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-05-01T04:25:47.415919Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-05-01T04:25:47.415924Z 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-05-01T04:25:47.415925Z 01O | ^~~~~~ 2026-05-01T04:25:47.415926Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-05-01T04:25:47.415926Z 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-05-01T04:25:47.415927Z 01O | ^ 2026-05-01T04:25:47.415927Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is >= 0 2026-05-01T04:25:47.415928Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.415929Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.415929Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-05-01T04:25:47.415930Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.415930Z 01O | ^ 2026-05-01T04:25:47.415933Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is >= 'nx' 2026-05-01T04:25:47.415934Z 01O 1547 | for (uint64_t i=0; i= 0 2026-05-01T04:25:47.416195Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.416196Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.416196Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-05-01T04:25:47.416197Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.416197Z 01O | ^ 2026-05-01T04:25:47.416198Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-05-01T04:25:47.416199Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-05-01T04:25:47.416279Z 01O 1547 | for (uint64_t i=0; i= 0 2026-05-01T04:25:47.416782Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.416782Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.416783Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-05-01T04:25:47.416783Z 01O 1546 | if (hasnf>=0) { 2026-05-01T04:25:47.416784Z 01O | ^ 2026-05-01T04:25:47.416784Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-05-01T04:25:47.416785Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-05-01T04:25:47.416840Z 01O 1547 | for (uint64_t i=0; i 0 2026-05-01T04:25:47.417463Z 01O 533 | bool truehasnf = hasnf>0; 2026-05-01T04:25:47.417463Z 01O | ^~~~~~~ 2026-05-01T04:25:47.417464Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:534:24: note: 'i' is < 'nx' 2026-05-01T04:25:47.417464Z 01O 534 | for (uint64_t i=0; i= 'nx' 2026-05-01T04:25:47.417520Z 01O 534 | for (uint64_t i=0; i 0 2026-05-01T04:25:47.417847Z 01O 608 | bool truehasnf = hasnf>0; 2026-05-01T04:25:47.417847Z 01O | ^~~~~~~ 2026-05-01T04:25:47.417935Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:609:24: note: 'i' is < 'nx' 2026-05-01T04:25:47.417936Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-05-01T04:25:47.417972Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-05-01T04:25:47.418181Z 01O 931 | for (uint64_t i=1; i=0; i--) { 2026-05-01T04:25:47.418417Z 01O | ^ 2026-05-01T04:25:47.418417Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:11: note: Assuming the condition is false 2026-05-01T04:25:47.418418Z 01O 880 | if (i+1 == ik) { 2026-05-01T04:25:47.418418Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.418419Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:7: note: Taking false branch 2026-05-01T04:25:47.418419Z 01O 880 | if (i+1 == ik) { 2026-05-01T04:25:47.418420Z 01O | ^ 2026-05-01T04:25:47.418420Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:18: note: Assuming the condition is false 2026-05-01T04:25:47.418421Z 01O 882 | } else if (i+1 < ik) { 2026-05-01T04:25:47.418421Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.418422Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:14: note: Taking false branch 2026-05-01T04:25:47.418422Z 01O 882 | } else if (i+1 < ik) { 2026-05-01T04:25:47.418423Z 01O | ^ 2026-05-01T04:25:47.418527Z 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-05-01T04:25:47.418528Z 01O 885 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-05-01T04:25:47.418529Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.418530Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:878:5: note: Loop condition is false. Execution continues on line 889 2026-05-01T04:25:47.418530Z 01O 878 | for (int64_t i=nx-1; i>=0; i--) { 2026-05-01T04:25:47.418531Z 01O | ^ 2026-05-01T04:25:47.418531Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:989:14: note: Returning from 'frolladaptiveNAFast' 2026-05-01T04:25:47.418532Z 01O 989 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-05-01T04:25:47.418532Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.418533Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:10: note: 'nc' is 1 2026-05-01T04:25:47.418534Z 01O 990 | if (!nc) { // total NA for x 2026-05-01T04:25:47.418534Z 01O | ^~ 2026-05-01T04:25:47.418535Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:5: note: Taking false branch 2026-05-01T04:25:47.418535Z 01O 990 | if (!nc) { // total NA for x 2026-05-01T04:25:47.418536Z 01O | ^ 2026-05-01T04:25:47.418536Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.418537Z 01O 998 | for (uint64_t i=0; i= 'ngrp' 2026-05-01T04:25:47.419011Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-05-01T04:25:47.419150Z 01O | ^~~~~~~ 2026-05-01T04:25:47.419150Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-05-01T04:25:47.419151Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-05-01T04:25:47.419151Z 01O | ^ 2026-05-01T04:25:47.419154Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-05-01T04:25:47.419154Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-05-01T04:25:47.419155Z 01O | ^ 2026-05-01T04:25:47.419196Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-05-01T04:25:47.419197Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-01T04:25:47.419198Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.419199Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-05-01T04:25:47.419199Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-05-01T04:25:47.419200Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-01T04:25:47.419200Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.419209Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-05-01T04:25:47.419210Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-01T04:25:47.419210Z 01O | ^ 2026-05-01T04:25:47.419211Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-05-01T04:25:47.419211Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-01T04:25:47.419212Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.419213Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-05-01T04:25:47.419213Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-01T04:25:47.419214Z 01O | ^ 2026-05-01T04:25:47.419214Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-05-01T04:25:47.419215Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-05-01T04:25:47.419235Z 01O | ^~~~~~~ 2026-05-01T04:25:47.419282Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-05-01T04:25:47.419283Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-05-01T04:25:47.419284Z 01O | ^ 2026-05-01T04:25:47.419285Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-05-01T04:25:47.419285Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-05-01T04:25:47.419286Z 01O | ^ 2026-05-01T04:25:47.419286Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-05-01T04:25:47.419287Z 01O 122 | if (!counts || !TMP ) { 2026-05-01T04:25:47.419287Z 01O | ^~~~~~~ 2026-05-01T04:25:47.419288Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-05-01T04:25:47.419288Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-05-01T04:25:47.419289Z 01O 122 | if (!counts || !TMP ) { 2026-05-01T04:25:47.419294Z 01O | ^~~~ 2026-05-01T04:25:47.419295Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-05-01T04:25:47.419295Z 01O 122 | if (!counts || !TMP ) { 2026-05-01T04:25:47.419296Z 01O | ^ 2026-05-01T04:25:47.419296Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-05-01T04:25:47.419297Z 01O 127 | for (int b=0; b= 'howMany' 2026-05-01T04:25:47.419327Z 01O 131 | for (int i=0; i= 'highSize' 2026-05-01T04:25:47.419414Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-05-01T04:25:47.419616Z 01O | ^ 2026-05-01T04:25:47.419619Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-05-01T04:25:47.419620Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-05-01T04:25:47.419620Z 01O | ^ ~ 2026-05-01T04:25:47.419621Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-05-01T04:25:47.419625Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-05-01T04:25:47.419626Z 01O | ^ ~ 2026-05-01T04:25:47.419627Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-01T04:25:47.419627Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.419628Z 01O | ^ 2026-05-01T04:25:47.419660Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.419661Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.419662Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.419663Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-01T04:25:47.419663Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.419664Z 01O | ^ 2026-05-01T04:25:47.419666Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.419667Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.419668Z 01O | ^ 2026-05-01T04:25:47.419690Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-01T04:25:47.419691Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.419691Z 01O | ^ 2026-05-01T04:25:47.419692Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.419693Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.419693Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.419694Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-01T04:25:47.419694Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.419695Z 01O | ^ 2026-05-01T04:25:47.419698Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.419698Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.419699Z 01O | ^ 2026-05-01T04:25:47.419738Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-01T04:25:47.419739Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.419740Z 01O | ^ 2026-05-01T04:25:47.419743Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.419744Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.419749Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.419750Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-05-01T04:25:47.419751Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.419751Z 01O | ^ 2026-05-01T04:25:47.419793Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-05-01T04:25:47.419794Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-01T04:25:47.419795Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.419795Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-05-01T04:25:47.419796Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-01T04:25:47.419796Z 01O | ^ 2026-05-01T04:25:47.419797Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-05-01T04:25:47.419797Z 01O 1122 | if (inherits(x, "factor")) 2026-05-01T04:25:47.419798Z 01O | ^ 2026-05-01T04:25:47.419798Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-05-01T04:25:47.419799Z 01O 933 | #define inherits Rf_inherits 2026-05-01T04:25:47.419800Z 01O | ^ 2026-05-01T04:25:47.419800Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-05-01T04:25:47.419801Z 01O 1122 | if (inherits(x, "factor")) 2026-05-01T04:25:47.419801Z 01O | ^ 2026-05-01T04:25:47.419803Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-05-01T04:25:47.419804Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-05-01T04:25:47.419805Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.419808Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-05-01T04:25:47.419809Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-05-01T04:25:47.419810Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.419810Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-05-01T04:25:47.419853Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-05-01T04:25:47.419854Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-01T04:25:47.419855Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.419865Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-05-01T04:25:47.419865Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-01T04:25:47.419866Z 01O | ^ 2026-05-01T04:25:47.419867Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-05-01T04:25:47.419867Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-05-01T04:25:47.419868Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.419868Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-05-01T04:25:47.419869Z 01O 1129 | if (!s) 2026-05-01T04:25:47.419869Z 01O | ^~ 2026-05-01T04:25:47.419870Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-05-01T04:25:47.419870Z 01O 1129 | if (!s) 2026-05-01T04:25:47.419871Z 01O | ^ 2026-05-01T04:25:47.419872Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-05-01T04:25:47.419873Z 01O 1131 | for (int i=0; i= 'n' 2026-05-01T04:25:47.419906Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-05-01T04:25:47.419997Z 01O | ^ 2026-05-01T04:25:47.419998Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-05-01T04:25:47.419998Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-05-01T04:25:47.419999Z 01O | ^ ~ 2026-05-01T04:25:47.420000Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-05-01T04:25:47.420000Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-05-01T04:25:47.420001Z 01O | ^ ~ 2026-05-01T04:25:47.420005Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-05-01T04:25:47.420005Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-05-01T04:25:47.420006Z 01O | ~~~~ ^ 2026-05-01T04:25:47.420006Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-01T04:25:47.420007Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.420008Z 01O | ^ 2026-05-01T04:25:47.420097Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.420098Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.420099Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420099Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-01T04:25:47.420100Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.420106Z 01O | ^ 2026-05-01T04:25:47.420107Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.420115Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.420116Z 01O | ^ 2026-05-01T04:25:47.420119Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-01T04:25:47.420119Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.420120Z 01O | ^ 2026-05-01T04:25:47.420150Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.420151Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.420151Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.420152Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-01T04:25:47.420153Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.420153Z 01O | ^ 2026-05-01T04:25:47.420154Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.420154Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.420155Z 01O | ^ 2026-05-01T04:25:47.420156Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-01T04:25:47.420156Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.420157Z 01O | ^ 2026-05-01T04:25:47.420157Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.420158Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.420158Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420159Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-05-01T04:25:47.420160Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-01T04:25:47.420160Z 01O | ^ 2026-05-01T04:25:47.420161Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-05-01T04:25:47.420161Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-01T04:25:47.420162Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420162Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-05-01T04:25:47.420163Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-01T04:25:47.420163Z 01O | ^ 2026-05-01T04:25:47.420189Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-05-01T04:25:47.420190Z 01O 1122 | if (inherits(x, "factor")) 2026-05-01T04:25:47.420190Z 01O | ^ 2026-05-01T04:25:47.420191Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-05-01T04:25:47.420192Z 01O 933 | #define inherits Rf_inherits 2026-05-01T04:25:47.420192Z 01O | ^ 2026-05-01T04:25:47.420193Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-05-01T04:25:47.420193Z 01O 1122 | if (inherits(x, "factor")) 2026-05-01T04:25:47.420194Z 01O | ^ 2026-05-01T04:25:47.420198Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-05-01T04:25:47.420198Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-05-01T04:25:47.420199Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.420200Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-05-01T04:25:47.420200Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-05-01T04:25:47.420208Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.420209Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-05-01T04:25:47.420228Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-05-01T04:25:47.420229Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-01T04:25:47.420230Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.420331Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-05-01T04:25:47.420332Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-01T04:25:47.420332Z 01O | ^ 2026-05-01T04:25:47.420333Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-05-01T04:25:47.420333Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-05-01T04:25:47.420334Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420334Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-05-01T04:25:47.420335Z 01O 1129 | if (!s) 2026-05-01T04:25:47.420336Z 01O | ^~ 2026-05-01T04:25:47.420336Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-05-01T04:25:47.420337Z 01O 1129 | if (!s) 2026-05-01T04:25:47.420337Z 01O | ^ 2026-05-01T04:25:47.420338Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-05-01T04:25:47.420338Z 01O 1131 | for (int i=0; i= 'n' 2026-05-01T04:25:47.420343Z 01O 1135 | for (int i=0; i' is a garbage value 2026-05-01T04:25:47.420413Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-05-01T04:25:47.420414Z 01O | ~~~~ ^ 2026-05-01T04:25:47.420417Z 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-05-01T04:25:47.420418Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-01T04:25:47.420419Z 01O | ^ 2026-05-01T04:25:47.420419Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-05-01T04:25:47.420420Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-05-01T04:25:47.420420Z 01O | ^ 2026-05-01T04:25:47.420421Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-05-01T04:25:47.420421Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-05-01T04:25:47.420422Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.420483Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-05-01T04:25:47.420484Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-05-01T04:25:47.420485Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420485Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-05-01T04:25:47.420486Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-05-01T04:25:47.420486Z 01O | ^ 2026-05-01T04:25:47.420487Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-05-01T04:25:47.420487Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-05-01T04:25:47.420488Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420489Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-05-01T04:25:47.420489Z 01O 54 | if (!ret) 2026-05-01T04:25:47.420490Z 01O | ^~~~ 2026-05-01T04:25:47.420490Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-05-01T04:25:47.420491Z 01O 54 | if (!ret) 2026-05-01T04:25:47.420491Z 01O | ^ 2026-05-01T04:25:47.420492Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-05-01T04:25:47.420492Z 01O 59 | if (!table) { 2026-05-01T04:25:47.420493Z 01O | ^~~~~~ 2026-05-01T04:25:47.420493Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-05-01T04:25:47.420494Z 01O 59 | if (!table) { 2026-05-01T04:25:47.420494Z 01O | ^ 2026-05-01T04:25:47.420509Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-05-01T04:25:47.420509Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-05-01T04:25:47.420510Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420511Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-05-01T04:25:47.420511Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-05-01T04:25:47.420512Z 01O | ^ 2026-05-01T04:25:47.420512Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-05-01T04:25:47.420513Z 01O 71 | ret->shift = HASH_BITS - k; 2026-05-01T04:25:47.420513Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420514Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-05-01T04:25:47.420515Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-05-01T04:25:47.420515Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420518Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-05-01T04:25:47.420523Z 01O 133 | if (!new_h) return NULL; 2026-05-01T04:25:47.420523Z 01O | ^~~~~ 2026-05-01T04:25:47.420524Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-05-01T04:25:47.420524Z 01O 133 | if (!new_h) return NULL; 2026-05-01T04:25:47.420525Z 01O | ^ 2026-05-01T04:25:47.420612Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-05-01T04:25:47.420613Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-05-01T04:25:47.420613Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.420614Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.420614Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-05-01T04:25:47.420615Z 01O | ^ 2026-05-01T04:25:47.420615Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-05-01T04:25:47.420616Z 01O 138 | if (h->table[i].key) 2026-05-01T04:25:47.420616Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420620Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-05-01T04:25:47.420620Z 01O 138 | if (h->table[i].key) 2026-05-01T04:25:47.420621Z 01O | ^ 2026-05-01T04:25:47.420621Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-05-01T04:25:47.420625Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-05-01T04:25:47.420625Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420626Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-05-01T04:25:47.420627Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-05-01T04:25:47.420627Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.420699Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-05-01T04:25:47.420700Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-05-01T04:25:47.420701Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420701Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-05-01T04:25:47.420702Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-01T04:25:47.420703Z 01O | ^ 2026-05-01T04:25:47.420703Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-05-01T04:25:47.420704Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-05-01T04:25:47.420704Z 01O | ^ 2026-05-01T04:25:47.420707Z 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-05-01T04:25:47.420708Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-01T04:25:47.420709Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-05-01T04:25:47.420734Z 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-05-01T04:25:47.420735Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-05-01T04:25:47.420736Z 01O | ^ 2026-05-01T04:25:47.420736Z 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-05-01T04:25:47.420740Z 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-05-01T04:25:47.420745Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-05-01T04:25:47.420746Z 01O | ^ 2026-05-01T04:25:47.420747Z 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-05-01T04:25:47.420831Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-01T04:25:47.420832Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-05-01T04:25:47.420832Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420833Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-05-01T04:25:47.420834Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-05-01T04:25:47.420834Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420889Z 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-05-01T04:25:47.420890Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-05-01T04:25:47.420890Z 01O | ^ 2026-05-01T04:25:47.420891Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.420891Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.420892Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.420892Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.420893Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.420893Z 01O | ^ 2026-05-01T04:25:47.420894Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.420894Z 01O 128 | if (verbose) 2026-05-01T04:25:47.420895Z 01O | ^~~~~~~ 2026-05-01T04:25:47.420895Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.420896Z 01O 128 | if (verbose) 2026-05-01T04:25:47.420896Z 01O | ^ 2026-05-01T04:25:47.420938Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.420939Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.420939Z 01O | ^ 2026-05-01T04:25:47.420940Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.420940Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.420941Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.420942Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.420942Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.420943Z 01O | ^ 2026-05-01T04:25:47.420972Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.420972Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.420973Z 01O | ^ 2026-05-01T04:25:47.420974Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.420974Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.420975Z 01O | ^ 2026-05-01T04:25:47.421003Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.421004Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.421005Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.421010Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.421011Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421012Z 01O | ^ 2026-05-01T04:25:47.421012Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.421013Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.421013Z 01O | ^ 2026-05-01T04:25:47.421042Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.421043Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421044Z 01O | ^ 2026-05-01T04:25:47.421044Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.421045Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.421046Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.421046Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.421047Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421047Z 01O | ^ 2026-05-01T04:25:47.421059Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.421059Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.421060Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.421060Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.421061Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.421061Z 01O | ^ 2026-05-01T04:25:47.421062Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.421063Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.421229Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-05-01T04:25:47.421535Z 01O | ^ 2026-05-01T04:25:47.421547Z 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-05-01T04:25:47.421548Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-05-01T04:25:47.421548Z 01O | ^ 2026-05-01T04:25:47.421549Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.421549Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.421550Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.421550Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.421551Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.421551Z 01O | ^ 2026-05-01T04:25:47.421552Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.421552Z 01O 128 | if (verbose) 2026-05-01T04:25:47.421553Z 01O | ^~~~~~~ 2026-05-01T04:25:47.421553Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.421554Z 01O 128 | if (verbose) 2026-05-01T04:25:47.421554Z 01O | ^ 2026-05-01T04:25:47.421631Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.421632Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421633Z 01O | ^ 2026-05-01T04:25:47.421633Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.421634Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.421635Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.421635Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.421636Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421636Z 01O | ^ 2026-05-01T04:25:47.421637Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.421637Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.421638Z 01O | ^ 2026-05-01T04:25:47.421643Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.421644Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421644Z 01O | ^ 2026-05-01T04:25:47.421645Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.421645Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.421646Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.421646Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.421647Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421648Z 01O | ^ 2026-05-01T04:25:47.421739Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.421747Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.421748Z 01O | ^ 2026-05-01T04:25:47.421748Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.421749Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421749Z 01O | ^ 2026-05-01T04:25:47.421757Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.421758Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.421758Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.421759Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.421760Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.421760Z 01O | ^ 2026-05-01T04:25:47.421761Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.421761Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.421762Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.421762Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.421763Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.421763Z 01O | ^ 2026-05-01T04:25:47.421767Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.421767Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.421891Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-05-01T04:25:47.422121Z 01O | ^ 2026-05-01T04:25:47.422180Z 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-05-01T04:25:47.422182Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-05-01T04:25:47.422182Z 01O | ^ 2026-05-01T04:25:47.422183Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.422183Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.422184Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.422184Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.422185Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.422185Z 01O | ^ 2026-05-01T04:25:47.422186Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.422186Z 01O 128 | if (verbose) 2026-05-01T04:25:47.422187Z 01O | ^~~~~~~ 2026-05-01T04:25:47.422187Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.422188Z 01O 128 | if (verbose) 2026-05-01T04:25:47.422188Z 01O | ^ 2026-05-01T04:25:47.422194Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.422194Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422195Z 01O | ^ 2026-05-01T04:25:47.422195Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422196Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422197Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.422197Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.422198Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422198Z 01O | ^ 2026-05-01T04:25:47.422350Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422351Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422351Z 01O | ^ 2026-05-01T04:25:47.422352Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.422353Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422353Z 01O | ^ 2026-05-01T04:25:47.422354Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422354Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422355Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.422355Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.422356Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422357Z 01O | ^ 2026-05-01T04:25:47.422357Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422358Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422358Z 01O | ^ 2026-05-01T04:25:47.422359Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.422360Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422367Z 01O | ^ 2026-05-01T04:25:47.422367Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422368Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422368Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.422369Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.422370Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422370Z 01O | ^ 2026-05-01T04:25:47.422371Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.422371Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.422372Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.422372Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.422373Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.422373Z 01O | ^ 2026-05-01T04:25:47.422374Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.422374Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.422465Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-05-01T04:25:47.422745Z 01O | ^ 2026-05-01T04:25:47.422745Z 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-05-01T04:25:47.422746Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-05-01T04:25:47.422746Z 01O | ^ 2026-05-01T04:25:47.422750Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.422751Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.422751Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.422752Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.422752Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.422753Z 01O | ^ 2026-05-01T04:25:47.422753Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.422754Z 01O 128 | if (verbose) 2026-05-01T04:25:47.422754Z 01O | ^~~~~~~ 2026-05-01T04:25:47.422755Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.422755Z 01O 128 | if (verbose) 2026-05-01T04:25:47.422756Z 01O | ^ 2026-05-01T04:25:47.422760Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.422760Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422761Z 01O | ^ 2026-05-01T04:25:47.422761Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422762Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422763Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.422834Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.422834Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422835Z 01O | ^ 2026-05-01T04:25:47.422835Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422836Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422837Z 01O | ^ 2026-05-01T04:25:47.422841Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.422842Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422842Z 01O | ^ 2026-05-01T04:25:47.422843Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422844Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422844Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.422845Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.422845Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422846Z 01O | ^ 2026-05-01T04:25:47.422846Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422847Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422848Z 01O | ^ 2026-05-01T04:25:47.422888Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.422894Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422895Z 01O | ^ 2026-05-01T04:25:47.422895Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.422896Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.422897Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.422897Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.422898Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.422899Z 01O | ^ 2026-05-01T04:25:47.422899Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.422900Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.422900Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.422902Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.422903Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.422904Z 01O | ^ 2026-05-01T04:25:47.422907Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.422908Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.423002Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-05-01T04:25:47.423317Z 01O | ^ 2026-05-01T04:25:47.423317Z 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-05-01T04:25:47.423318Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-05-01T04:25:47.423319Z 01O | ^ 2026-05-01T04:25:47.423319Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.423320Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.423321Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.423321Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.423322Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.423322Z 01O | ^ 2026-05-01T04:25:47.423322Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.423323Z 01O 128 | if (verbose) 2026-05-01T04:25:47.423324Z 01O | ^~~~~~~ 2026-05-01T04:25:47.423324Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.423325Z 01O 128 | if (verbose) 2026-05-01T04:25:47.423325Z 01O | ^ 2026-05-01T04:25:47.423327Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.423328Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.423329Z 01O | ^ 2026-05-01T04:25:47.423431Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.423432Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.423432Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.423433Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.423434Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.423434Z 01O | ^ 2026-05-01T04:25:47.423435Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.423436Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.423436Z 01O | ^ 2026-05-01T04:25:47.423438Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.423439Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.423440Z 01O | ^ 2026-05-01T04:25:47.423444Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.423445Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.423445Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.423446Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.423446Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.423447Z 01O | ^ 2026-05-01T04:25:47.423464Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.423465Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.423465Z 01O | ^ 2026-05-01T04:25:47.423470Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.423471Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.423472Z 01O | ^ 2026-05-01T04:25:47.423476Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.423476Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.423477Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.423478Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.423478Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.423479Z 01O | ^ 2026-05-01T04:25:47.423479Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.423480Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.423481Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.423481Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.423482Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.423482Z 01O | ^ 2026-05-01T04:25:47.423485Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.423485Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.423629Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-05-01T04:25:47.423932Z 01O | ^ 2026-05-01T04:25:47.423933Z 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-05-01T04:25:47.423934Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-05-01T04:25:47.423934Z 01O | ^ 2026-05-01T04:25:47.423935Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.423936Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.423936Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.423937Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.423937Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.423938Z 01O | ^ 2026-05-01T04:25:47.423938Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.423939Z 01O 128 | if (verbose) 2026-05-01T04:25:47.423939Z 01O | ^~~~~~~ 2026-05-01T04:25:47.423995Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.423996Z 01O 128 | if (verbose) 2026-05-01T04:25:47.423997Z 01O | ^ 2026-05-01T04:25:47.423997Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.423998Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.423998Z 01O | ^ 2026-05-01T04:25:47.424003Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424003Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424004Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.424004Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.424005Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424006Z 01O | ^ 2026-05-01T04:25:47.424006Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424007Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424007Z 01O | ^ 2026-05-01T04:25:47.424034Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.424040Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424041Z 01O | ^ 2026-05-01T04:25:47.424041Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424042Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424042Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.424107Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.424115Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424116Z 01O | ^ 2026-05-01T04:25:47.424116Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424117Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424118Z 01O | ^ 2026-05-01T04:25:47.424123Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.424124Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424125Z 01O | ^ 2026-05-01T04:25:47.424125Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424126Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424126Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.424127Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.424128Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424128Z 01O | ^ 2026-05-01T04:25:47.424129Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.424130Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.424130Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.424131Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.424131Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.424132Z 01O | ^ 2026-05-01T04:25:47.424132Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.424133Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.424242Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-05-01T04:25:47.424616Z 01O | ^ 2026-05-01T04:25:47.424616Z 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-05-01T04:25:47.424617Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-05-01T04:25:47.424618Z 01O | ^ 2026-05-01T04:25:47.424618Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.424619Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.424619Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.424620Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.424620Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.424621Z 01O | ^ 2026-05-01T04:25:47.424625Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.424626Z 01O 128 | if (verbose) 2026-05-01T04:25:47.424626Z 01O | ^~~~~~~ 2026-05-01T04:25:47.424627Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.424627Z 01O 128 | if (verbose) 2026-05-01T04:25:47.424628Z 01O | ^ 2026-05-01T04:25:47.424698Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.424704Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424705Z 01O | ^ 2026-05-01T04:25:47.424710Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424711Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424711Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.424712Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.424712Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424713Z 01O | ^ 2026-05-01T04:25:47.424719Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424719Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424720Z 01O | ^ 2026-05-01T04:25:47.424720Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.424721Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424722Z 01O | ^ 2026-05-01T04:25:47.424722Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424723Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424723Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.424724Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.424725Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424725Z 01O | ^ 2026-05-01T04:25:47.424761Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424762Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424763Z 01O | ^ 2026-05-01T04:25:47.424766Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.424767Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424768Z 01O | ^ 2026-05-01T04:25:47.424768Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.424769Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.424769Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.424811Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.424812Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.424813Z 01O | ^ 2026-05-01T04:25:47.424813Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.424814Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.424814Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.424815Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.424815Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.424816Z 01O | ^ 2026-05-01T04:25:47.424816Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.424817Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.424943Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-05-01T04:25:47.425184Z 01O | ^ 2026-05-01T04:25:47.425184Z 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-05-01T04:25:47.425185Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-05-01T04:25:47.425186Z 01O | ^ 2026-05-01T04:25:47.425186Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.425187Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.425188Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.425188Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.425189Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.425189Z 01O | ^ 2026-05-01T04:25:47.425189Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.425190Z 01O 128 | if (verbose) 2026-05-01T04:25:47.425191Z 01O | ^~~~~~~ 2026-05-01T04:25:47.425191Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.425192Z 01O 128 | if (verbose) 2026-05-01T04:25:47.425192Z 01O | ^ 2026-05-01T04:25:47.425266Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.425267Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425267Z 01O | ^ 2026-05-01T04:25:47.425268Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425268Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425269Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.425270Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.425270Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425271Z 01O | ^ 2026-05-01T04:25:47.425275Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425282Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425283Z 01O | ^ 2026-05-01T04:25:47.425284Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.425284Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425285Z 01O | ^ 2026-05-01T04:25:47.425285Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425286Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425287Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.425345Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.425345Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425346Z 01O | ^ 2026-05-01T04:25:47.425375Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425376Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425376Z 01O | ^ 2026-05-01T04:25:47.425377Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.425378Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425378Z 01O | ^ 2026-05-01T04:25:47.425379Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425379Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425380Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.425381Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.425381Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425382Z 01O | ^ 2026-05-01T04:25:47.425382Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.425383Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.425383Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.425384Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.425384Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.425385Z 01O | ^ 2026-05-01T04:25:47.425385Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.425386Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.425495Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-05-01T04:25:47.425726Z 01O | ^ 2026-05-01T04:25:47.425734Z 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-05-01T04:25:47.425735Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-05-01T04:25:47.425735Z 01O | ^ 2026-05-01T04:25:47.425736Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.425736Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.425737Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.425737Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.425738Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.425738Z 01O | ^ 2026-05-01T04:25:47.425742Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.425742Z 01O 128 | if (verbose) 2026-05-01T04:25:47.425743Z 01O | ^~~~~~~ 2026-05-01T04:25:47.425743Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.425744Z 01O 128 | if (verbose) 2026-05-01T04:25:47.425744Z 01O | ^ 2026-05-01T04:25:47.425745Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.425745Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425746Z 01O | ^ 2026-05-01T04:25:47.425812Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425813Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425813Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.425814Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.425814Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425815Z 01O | ^ 2026-05-01T04:25:47.425818Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425819Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425820Z 01O | ^ 2026-05-01T04:25:47.425826Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.425826Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425827Z 01O | ^ 2026-05-01T04:25:47.425836Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425837Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425837Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.425838Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.425839Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425839Z 01O | ^ 2026-05-01T04:25:47.425840Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425840Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425841Z 01O | ^ 2026-05-01T04:25:47.425842Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.425842Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425843Z 01O | ^ 2026-05-01T04:25:47.425846Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.425847Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.425847Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.425848Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.425849Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.425849Z 01O | ^ 2026-05-01T04:25:47.425921Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.425922Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.425922Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.425923Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.425923Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.425924Z 01O | ^ 2026-05-01T04:25:47.425924Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.425925Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.426005Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-05-01T04:25:47.426357Z 01O | ^ 2026-05-01T04:25:47.426363Z 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-05-01T04:25:47.426364Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-05-01T04:25:47.426365Z 01O | ^ 2026-05-01T04:25:47.426365Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.426366Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.426366Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.426466Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.426467Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.426467Z 01O | ^ 2026-05-01T04:25:47.426468Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.426468Z 01O 128 | if (verbose) 2026-05-01T04:25:47.426469Z 01O | ^~~~~~~ 2026-05-01T04:25:47.426469Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.426470Z 01O 128 | if (verbose) 2026-05-01T04:25:47.426470Z 01O | ^ 2026-05-01T04:25:47.426471Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.426471Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.426472Z 01O | ^ 2026-05-01T04:25:47.426472Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.426473Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.426478Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.426479Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.426479Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.426480Z 01O | ^ 2026-05-01T04:25:47.426483Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.426484Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.426485Z 01O | ^ 2026-05-01T04:25:47.426485Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.426486Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.426486Z 01O | ^ 2026-05-01T04:25:47.426490Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.426491Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.426492Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.426492Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.426493Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.426493Z 01O | ^ 2026-05-01T04:25:47.426494Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.426494Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.426495Z 01O | ^ 2026-05-01T04:25:47.426557Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.426558Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.426559Z 01O | ^ 2026-05-01T04:25:47.426559Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.426560Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.426560Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.426565Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.426566Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.426566Z 01O | ^ 2026-05-01T04:25:47.426567Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.426567Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.426568Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.426568Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.426569Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.426569Z 01O | ^ 2026-05-01T04:25:47.426570Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.426571Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.426661Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-05-01T04:25:47.426982Z 01O | ^ 2026-05-01T04:25:47.426990Z 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-05-01T04:25:47.426991Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-05-01T04:25:47.426991Z 01O | ^ 2026-05-01T04:25:47.426992Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.426992Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.426993Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.426993Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.426994Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.426994Z 01O | ^ 2026-05-01T04:25:47.426997Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.426997Z 01O 128 | if (verbose) 2026-05-01T04:25:47.426998Z 01O | ^~~~~~~ 2026-05-01T04:25:47.426998Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.426999Z 01O 128 | if (verbose) 2026-05-01T04:25:47.426999Z 01O | ^ 2026-05-01T04:25:47.427085Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.427086Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427087Z 01O | ^ 2026-05-01T04:25:47.427087Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427088Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427089Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.427089Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.427090Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427090Z 01O | ^ 2026-05-01T04:25:47.427093Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427094Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427095Z 01O | ^ 2026-05-01T04:25:47.427095Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.427096Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427097Z 01O | ^ 2026-05-01T04:25:47.427104Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427105Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427117Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.427118Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.427119Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427119Z 01O | ^ 2026-05-01T04:25:47.427186Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427187Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427188Z 01O | ^ 2026-05-01T04:25:47.427189Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.427189Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427190Z 01O | ^ 2026-05-01T04:25:47.427195Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427196Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427196Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.427197Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.427197Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427198Z 01O | ^ 2026-05-01T04:25:47.427198Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.427199Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.427200Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.427200Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.427201Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.427201Z 01O | ^ 2026-05-01T04:25:47.427202Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.427202Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.427331Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-05-01T04:25:47.427611Z 01O | ^ 2026-05-01T04:25:47.427612Z 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-05-01T04:25:47.427612Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-05-01T04:25:47.427613Z 01O | ^ 2026-05-01T04:25:47.427614Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-01T04:25:47.427614Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.427615Z 01O | ^~~~~~~~~~~~~ 2026-05-01T04:25:47.427615Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-01T04:25:47.427616Z 01O 124 | if (!xlength(obj)) 2026-05-01T04:25:47.427616Z 01O | ^ 2026-05-01T04:25:47.427617Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-01T04:25:47.427617Z 01O 128 | if (verbose) 2026-05-01T04:25:47.427618Z 01O | ^~~~~~~ 2026-05-01T04:25:47.427620Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-01T04:25:47.427620Z 01O 128 | if (verbose) 2026-05-01T04:25:47.427621Z 01O | ^ 2026-05-01T04:25:47.427687Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.427688Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427689Z 01O | ^ 2026-05-01T04:25:47.427691Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427692Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427693Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.427696Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.427697Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427697Z 01O | ^ 2026-05-01T04:25:47.427698Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427698Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427699Z 01O | ^ 2026-05-01T04:25:47.427736Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.427737Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427737Z 01O | ^ 2026-05-01T04:25:47.427738Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427738Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427739Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.427739Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-01T04:25:47.427740Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427741Z 01O | ^ 2026-05-01T04:25:47.427744Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427745Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427745Z 01O | ^ 2026-05-01T04:25:47.427746Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-01T04:25:47.427752Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427753Z 01O | ^ 2026-05-01T04:25:47.427797Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.427798Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.427799Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.427799Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-01T04:25:47.427800Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-01T04:25:47.427801Z 01O | ^ 2026-05-01T04:25:47.427803Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-01T04:25:47.427804Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.427804Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.427805Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-01T04:25:47.427805Z 01O 138 | if (obj_scalar) { 2026-05-01T04:25:47.427806Z 01O | ^ 2026-05-01T04:25:47.427873Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-01T04:25:47.427874Z 01O 151 | for (int i=0; i= 'nx' 2026-05-01T04:25:47.427955Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-05-01T04:25:47.428337Z 01O | ^ 2026-05-01T04:25:47.428340Z 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-05-01T04:25:47.428341Z 01O 136 | SEXP x = R_NilValue; 2026-05-01T04:25:47.428341Z 01O | ^ ~~~~~~~~~~ 2026-05-01T04:25:47.428342Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-05-01T04:25:47.428342Z 01O 136 | SEXP x = R_NilValue; 2026-05-01T04:25:47.428343Z 01O | ^ ~~~~~~~~~~ 2026-05-01T04:25:47.428437Z 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-05-01T04:25:47.428438Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-05-01T04:25:47.428438Z 01O | ^ 2026-05-01T04:25:47.428446Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-05-01T04:25:47.428447Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-05-01T04:25:47.428447Z 01O | ^ 2026-05-01T04:25:47.428448Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-05-01T04:25:47.428448Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-05-01T04:25:47.428449Z 01O | ^ 2026-05-01T04:25:47.428449Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-05-01T04:25:47.428450Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-05-01T04:25:47.428451Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428451Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-05-01T04:25:47.428452Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-05-01T04:25:47.428452Z 01O | ^ 2026-05-01T04:25:47.428567Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-05-01T04:25:47.428568Z 01O 131 | if (length(throttle)) { 2026-05-01T04:25:47.428569Z 01O | ^ 2026-05-01T04:25:47.428569Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-01T04:25:47.428570Z 01O 987 | #define length(x) Rf_length(x) 2026-05-01T04:25:47.428570Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.428571Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-05-01T04:25:47.428572Z 01O 131 | if (length(throttle)) { 2026-05-01T04:25:47.428572Z 01O | ^ 2026-05-01T04:25:47.428573Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-05-01T04:25:47.428573Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-01T04:25:47.428574Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428574Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-05-01T04:25:47.428581Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-05-01T04:25:47.428581Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-01T04:25:47.428582Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428596Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-05-01T04:25:47.428596Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-01T04:25:47.428597Z 01O | ^ 2026-05-01T04:25:47.428598Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-05-01T04:25:47.428598Z 01O 138 | initDTthreads(); 2026-05-01T04:25:47.428599Z 01O | ^~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428599Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-05-01T04:25:47.428600Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-05-01T04:25:47.428600Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428601Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-05-01T04:25:47.428601Z 01O 14 | const char *val = getenv(name); 2026-05-01T04:25:47.428602Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.428602Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-05-01T04:25:47.428603Z 01O 14 | const char *val = getenv(name); 2026-05-01T04:25:47.428604Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.428607Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-05-01T04:25:47.428608Z 01O 14 | const char *val = getenv(name); 2026-05-01T04:25:47.428608Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.428609Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-05-01T04:25:47.428610Z 01O 15 | if (val == NULL) return def; 2026-05-01T04:25:47.428610Z 01O | ^~~ 2026-05-01T04:25:47.428610Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-05-01T04:25:47.428611Z 01O 15 | if (val == NULL) return def; 2026-05-01T04:25:47.428612Z 01O | ^ 2026-05-01T04:25:47.428612Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-05-01T04:25:47.428613Z 01O 17 | if (nchar == 0) return def; 2026-05-01T04:25:47.428613Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.428678Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-05-01T04:25:47.428679Z 01O 17 | if (nchar == 0) return def; 2026-05-01T04:25:47.428679Z 01O | ^ 2026-05-01T04:25:47.428680Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-05-01T04:25:47.428681Z 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-05-01T04:25:47.428681Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428682Z 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-05-01T04:25:47.428683Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-05-01T04:25:47.428683Z 01O | ^ 2026-05-01T04:25:47.428684Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-05-01T04:25:47.428684Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-05-01T04:25:47.428685Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428685Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-05-01T04:25:47.428686Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-05-01T04:25:47.428687Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428773Z 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-05-01T04:25:47.428774Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-05-01T04:25:47.428781Z 01O | ^ ~~~~~ 2026-05-01T04:25:47.428782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-01T04:25:47.428782Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-01T04:25:47.428783Z 01O | ^ 2026-05-01T04:25:47.428783Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.428784Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.428785Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428785Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-05-01T04:25:47.428786Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-01T04:25:47.428786Z 01O | ^ 2026-05-01T04:25:47.428789Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.428790Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.428791Z 01O | ^ 2026-05-01T04:25:47.428881Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-01T04:25:47.428882Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-01T04:25:47.428883Z 01O | ^ 2026-05-01T04:25:47.428883Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.428884Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.428884Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.428888Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-05-01T04:25:47.428889Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-01T04:25:47.428889Z 01O | ^ 2026-05-01T04:25:47.428895Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.428896Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.428896Z 01O | ^ 2026-05-01T04:25:47.428897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-01T04:25:47.428897Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-01T04:25:47.428898Z 01O | ^ 2026-05-01T04:25:47.428898Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.428899Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.428900Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-05-01T04:25:47.428901Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-01T04:25:47.428902Z 01O | ^ 2026-05-01T04:25:47.428902Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-05-01T04:25:47.428903Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-01T04:25:47.428903Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428904Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-05-01T04:25:47.428987Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-05-01T04:25:47.428988Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-01T04:25:47.428989Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.428995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-05-01T04:25:47.428995Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-01T04:25:47.428996Z 01O | ^ 2026-05-01T04:25:47.429001Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-01T04:25:47.429002Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-01T04:25:47.429003Z 01O | ^ 2026-05-01T04:25:47.429003Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.429004Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.429004Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.429005Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-05-01T04:25:47.429005Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-01T04:25:47.429006Z 01O | ^ 2026-05-01T04:25:47.429008Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.429009Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.429010Z 01O | ^ 2026-05-01T04:25:47.429075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-01T04:25:47.429076Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-01T04:25:47.429076Z 01O | ^ 2026-05-01T04:25:47.429077Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.429077Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.429078Z 01O | ^~~~~~~~~~~~ 2026-05-01T04:25:47.429079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-05-01T04:25:47.429079Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-01T04:25:47.429080Z 01O | ^ 2026-05-01T04:25:47.429083Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.429083Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.429084Z 01O | ^ 2026-05-01T04:25:47.429086Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-01T04:25:47.429087Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-01T04:25:47.429088Z 01O | ^ 2026-05-01T04:25:47.429092Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-01T04:25:47.429092Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-01T04:25:47.429093Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.429094Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-05-01T04:25:47.429094Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-01T04:25:47.429095Z 01O | ^ 2026-05-01T04:25:47.429095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-05-01T04:25:47.429096Z 01O 13 | if (!length(l)) return(l); 2026-05-01T04:25:47.429097Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.429171Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-05-01T04:25:47.429172Z 01O 13 | if (!length(l)) return(l); 2026-05-01T04:25:47.429172Z 01O | ^ 2026-05-01T04:25:47.429173Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-05-01T04:25:47.429180Z 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-05-01T04:25:47.429181Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.429185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-05-01T04:25:47.429186Z 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-05-01T04:25:47.429187Z 01O | ^ 2026-05-01T04:25:47.429187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-05-01T04:25:47.429188Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-05-01T04:25:47.429188Z 01O | ^~~~ 2026-05-01T04:25:47.429189Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-05-01T04:25:47.429189Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-05-01T04:25:47.429190Z 01O | ^ 2026-05-01T04:25:47.429190Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-05-01T04:25:47.429191Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-05-01T04:25:47.429191Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.429195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-05-01T04:25:47.429195Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-05-01T04:25:47.429196Z 01O | ^~~~~ 2026-05-01T04:25:47.429514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-05-01T04:25:47.429515Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-05-01T04:25:47.429516Z 01O | ^ 2026-05-01T04:25:47.429517Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-05-01T04:25:47.429517Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.429518Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.429518Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.429519Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.429520Z 01O | ^ 2026-05-01T04:25:47.429523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-01T04:25:47.429523Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.429524Z 01O | ^ 2026-05-01T04:25:47.429524Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.429525Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.429526Z 01O | ^ 2026-05-01T04:25:47.429526Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-01T04:25:47.429527Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.429527Z 01O | ^ 2026-05-01T04:25:47.429528Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-01T04:25:47.429528Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.429529Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.429532Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-01T04:25:47.429533Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.429534Z 01O | ^ 2026-05-01T04:25:47.429534Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-01T04:25:47.429540Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.429541Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.429541Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-01T04:25:47.429542Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.429542Z 01O | ^ 2026-05-01T04:25:47.429543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-01T04:25:47.429543Z 01O 37 | if (fill) { 2026-05-01T04:25:47.429544Z 01O | ^~~~ 2026-05-01T04:25:47.429544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-01T04:25:47.429545Z 01O 37 | if (fill) { 2026-05-01T04:25:47.429545Z 01O | ^ 2026-05-01T04:25:47.429547Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-01T04:25:47.429548Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.429549Z 01O | ^~~~ 2026-05-01T04:25:47.429551Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-01T04:25:47.429551Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.429552Z 01O | ^ 2026-05-01T04:25:47.429556Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-01T04:25:47.429557Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.429557Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.429558Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-01T04:25:47.429559Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.429559Z 01O | ^ 2026-05-01T04:25:47.429560Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-01T04:25:47.429560Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.429561Z 01O | ^~~~~~ 2026-05-01T04:25:47.429561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-01T04:25:47.429562Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.429562Z 01O | ^ 2026-05-01T04:25:47.429657Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-01T04:25:47.429658Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.429659Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.429659Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-01T04:25:47.429660Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.429661Z 01O | ^ 2026-05-01T04:25:47.429663Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-01T04:25:47.429663Z 01O 49 | for (int j=0; j0 checked above 2026-05-01T04:25:47.429672Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.429672Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-01T04:25:47.429678Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.429679Z 01O | ^ 2026-05-01T04:25:47.429679Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-01T04:25:47.429680Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.429680Z 01O | ^~~~~~~ 2026-05-01T04:25:47.429681Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-01T04:25:47.429681Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.429682Z 01O | ^ 2026-05-01T04:25:47.429682Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-01T04:25:47.429683Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.429683Z 01O | ^~~~ 2026-05-01T04:25:47.429684Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-01T04:25:47.429684Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-01T04:25:47.429685Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.429686Z 01O | ^~~~ 2026-05-01T04:25:47.429686Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-01T04:25:47.429687Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.429687Z 01O | ^ 2026-05-01T04:25:47.429690Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-01T04:25:47.429690Z 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-05-01T04:25:47.429691Z 01O | ^~~~ 2026-05-01T04:25:47.429695Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-01T04:25:47.429696Z 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-05-01T04:25:47.429697Z 01O | ^ 2026-05-01T04:25:47.429697Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-01T04:25:47.429698Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.429698Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.429699Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-01T04:25:47.429699Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.429700Z 01O | ^ 2026-05-01T04:25:47.429701Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-01T04:25:47.429701Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.429702Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.429702Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-01T04:25:47.429705Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-01T04:25:47.429706Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.429706Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.429707Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-01T04:25:47.429707Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.429708Z 01O | ^ 2026-05-01T04:25:47.429712Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-01T04:25:47.429713Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-01T04:25:47.429713Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.429714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-01T04:25:47.429718Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-01T04:25:47.429719Z 01O | ^ 2026-05-01T04:25:47.429719Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-05-01T04:25:47.429720Z 01O 83 | int nuniq=0; 2026-05-01T04:25:47.429720Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.429782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-05-01T04:25:47.429782Z 01O 85 | for (int i=0; i0 checked above 2026-05-01T04:25:47.430227Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.430228Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.430239Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.430239Z 01O | ^ 2026-05-01T04:25:47.430242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-01T04:25:47.430243Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.430244Z 01O | ^ 2026-05-01T04:25:47.430244Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.430245Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.430245Z 01O | ^ 2026-05-01T04:25:47.430246Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-01T04:25:47.430246Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.430247Z 01O | ^ 2026-05-01T04:25:47.430310Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-01T04:25:47.430311Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.430312Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.430312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-01T04:25:47.430313Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.430314Z 01O | ^ 2026-05-01T04:25:47.430322Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-01T04:25:47.430323Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.430323Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.430329Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-01T04:25:47.430330Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.430331Z 01O | ^ 2026-05-01T04:25:47.430331Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-01T04:25:47.430332Z 01O 37 | if (fill) { 2026-05-01T04:25:47.430332Z 01O | ^~~~ 2026-05-01T04:25:47.430335Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-01T04:25:47.430335Z 01O 37 | if (fill) { 2026-05-01T04:25:47.430336Z 01O | ^ 2026-05-01T04:25:47.430336Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-01T04:25:47.430337Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.430337Z 01O | ^~~~ 2026-05-01T04:25:47.430338Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-01T04:25:47.430338Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.430339Z 01O | ^ 2026-05-01T04:25:47.430343Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-01T04:25:47.430344Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.430344Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.430345Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-01T04:25:47.430345Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.430346Z 01O | ^ 2026-05-01T04:25:47.430421Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-01T04:25:47.430423Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.430424Z 01O | ^~~~~~ 2026-05-01T04:25:47.430425Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-01T04:25:47.430426Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.430427Z 01O | ^ 2026-05-01T04:25:47.430433Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-01T04:25:47.430434Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.430435Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.430435Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-01T04:25:47.430436Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.430437Z 01O | ^ 2026-05-01T04:25:47.430440Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-01T04:25:47.430440Z 01O 49 | for (int j=0; j0 checked above 2026-05-01T04:25:47.430444Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.430470Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-01T04:25:47.430471Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.430472Z 01O | ^ 2026-05-01T04:25:47.430472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-01T04:25:47.430473Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.430474Z 01O | ^~~~~~~ 2026-05-01T04:25:47.430477Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-01T04:25:47.430478Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.430478Z 01O | ^ 2026-05-01T04:25:47.430478Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-01T04:25:47.430479Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.430480Z 01O | ^~~~ 2026-05-01T04:25:47.430480Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-01T04:25:47.430481Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-01T04:25:47.430481Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.430482Z 01O | ^~~~ 2026-05-01T04:25:47.430517Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-01T04:25:47.430518Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.430518Z 01O | ^ 2026-05-01T04:25:47.430521Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-01T04:25:47.430522Z 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-05-01T04:25:47.430523Z 01O | ^~~~ 2026-05-01T04:25:47.430523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-01T04:25:47.430524Z 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-05-01T04:25:47.430525Z 01O | ^ 2026-05-01T04:25:47.430562Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-01T04:25:47.430563Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.430568Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.430568Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-01T04:25:47.430569Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.430570Z 01O | ^ 2026-05-01T04:25:47.430570Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-01T04:25:47.430571Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.430571Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.430572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-01T04:25:47.430572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-01T04:25:47.430573Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.430574Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.430661Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-01T04:25:47.430662Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.430662Z 01O | ^ 2026-05-01T04:25:47.430665Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-01T04:25:47.430666Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-01T04:25:47.430666Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.430667Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-01T04:25:47.430668Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-01T04:25:47.430668Z 01O | ^ 2026-05-01T04:25:47.430671Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-01T04:25:47.430671Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-01T04:25:47.430818Z 01O 92 | for (int j=0; j 'ncol' 2026-05-01T04:25:47.431021Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-01T04:25:47.431022Z 01O | ^~~~~~ 2026-05-01T04:25:47.431022Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-05-01T04:25:47.431023Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-01T04:25:47.431023Z 01O | ^ 2026-05-01T04:25:47.431024Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-05-01T04:25:47.431024Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-01T04:25:47.431025Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.431027Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-05-01T04:25:47.431028Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-05-01T04:25:47.431028Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.431032Z 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-05-01T04:25:47.431033Z 01O 153 | for (int j=0; j0 checked above 2026-05-01T04:25:47.431538Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.431540Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.431541Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.431542Z 01O | ^ 2026-05-01T04:25:47.431542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-01T04:25:47.431543Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.431543Z 01O | ^ 2026-05-01T04:25:47.431545Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.431546Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.431547Z 01O | ^ 2026-05-01T04:25:47.431547Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-01T04:25:47.431548Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.431548Z 01O | ^ 2026-05-01T04:25:47.431560Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-01T04:25:47.431561Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.431561Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.431562Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-01T04:25:47.431563Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.431563Z 01O | ^ 2026-05-01T04:25:47.431564Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-01T04:25:47.431564Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.431565Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.431565Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-01T04:25:47.431566Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.431566Z 01O | ^ 2026-05-01T04:25:47.431567Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-01T04:25:47.431567Z 01O 37 | if (fill) { 2026-05-01T04:25:47.431568Z 01O | ^~~~ 2026-05-01T04:25:47.431568Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-01T04:25:47.431569Z 01O 37 | if (fill) { 2026-05-01T04:25:47.431569Z 01O | ^ 2026-05-01T04:25:47.431572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-01T04:25:47.431572Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.431573Z 01O | ^~~~ 2026-05-01T04:25:47.431573Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-01T04:25:47.431574Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.431574Z 01O | ^ 2026-05-01T04:25:47.431650Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-01T04:25:47.431658Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.431658Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.431659Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-01T04:25:47.431659Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.431660Z 01O | ^ 2026-05-01T04:25:47.431661Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-01T04:25:47.431661Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.431662Z 01O | ^~~~~~ 2026-05-01T04:25:47.431665Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-01T04:25:47.431666Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.431666Z 01O | ^ 2026-05-01T04:25:47.431667Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-01T04:25:47.431667Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.431668Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.431754Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-01T04:25:47.431755Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.431755Z 01O | ^ 2026-05-01T04:25:47.431756Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-01T04:25:47.431756Z 01O 49 | for (int j=0; j0 checked above 2026-05-01T04:25:47.431764Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.431765Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-01T04:25:47.431765Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.431766Z 01O | ^ 2026-05-01T04:25:47.431766Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-01T04:25:47.431767Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.431768Z 01O | ^~~~~~~ 2026-05-01T04:25:47.431768Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-01T04:25:47.431769Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.431769Z 01O | ^ 2026-05-01T04:25:47.431770Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-01T04:25:47.431770Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.431771Z 01O | ^~~~ 2026-05-01T04:25:47.431771Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-01T04:25:47.431772Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-01T04:25:47.431772Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.431773Z 01O | ^~~~ 2026-05-01T04:25:47.431859Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-01T04:25:47.431865Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.431866Z 01O | ^ 2026-05-01T04:25:47.431868Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-01T04:25:47.431869Z 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-05-01T04:25:47.431870Z 01O | ^~~~ 2026-05-01T04:25:47.431874Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-01T04:25:47.431875Z 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-05-01T04:25:47.431876Z 01O | ^ 2026-05-01T04:25:47.431877Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-01T04:25:47.431878Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.431879Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.431881Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-01T04:25:47.431882Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.431883Z 01O | ^ 2026-05-01T04:25:47.431958Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-01T04:25:47.431959Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.431960Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.431960Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-01T04:25:47.431961Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-01T04:25:47.431962Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.431962Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.431965Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-01T04:25:47.431966Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.431966Z 01O | ^ 2026-05-01T04:25:47.431967Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-01T04:25:47.431967Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-01T04:25:47.431968Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.431972Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-01T04:25:47.431972Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-01T04:25:47.431973Z 01O | ^ 2026-05-01T04:25:47.431973Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-01T04:25:47.431974Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-01T04:25:47.432077Z 01O 92 | for (int j=0; j= 'thisncol' 2026-05-01T04:25:47.432187Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-05-01T04:25:47.432246Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.432247Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-05-01T04:25:47.432247Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-05-01T04:25:47.432248Z 01O | ^ 2026-05-01T04:25:47.432250Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-05-01T04:25:47.432251Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-05-01T04:25:47.432470Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.432470Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-05-01T04:25:47.432471Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-01T04:25:47.432472Z 01O | ^ 2026-05-01T04:25:47.432472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-05-01T04:25:47.432473Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.432473Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.432474Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-01T04:25:47.432474Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-05-01T04:25:47.432475Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.432476Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.432476Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-01T04:25:47.432477Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.432477Z 01O | ^ 2026-05-01T04:25:47.432480Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-05-01T04:25:47.432480Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.432481Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.432482Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-05-01T04:25:47.432482Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.432483Z 01O | ^ 2026-05-01T04:25:47.432485Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-05-01T04:25:47.432486Z 01O 142 | for (int i=0; i= 'ncol' 2026-05-01T04:25:47.432491Z 01O 143 | for (int i=0; i0 checked above 2026-05-01T04:25:47.432980Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.433017Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.433018Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.433018Z 01O | ^ 2026-05-01T04:25:47.433037Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-01T04:25:47.433038Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.433039Z 01O | ^ 2026-05-01T04:25:47.433039Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.433040Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.433040Z 01O | ^ 2026-05-01T04:25:47.433041Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-01T04:25:47.433042Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.433042Z 01O | ^ 2026-05-01T04:25:47.433085Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-01T04:25:47.433086Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.433086Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.433087Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-01T04:25:47.433088Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.433088Z 01O | ^ 2026-05-01T04:25:47.433089Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-01T04:25:47.433089Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.433090Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.433095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-01T04:25:47.433096Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.433096Z 01O | ^ 2026-05-01T04:25:47.433097Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-01T04:25:47.433097Z 01O 37 | if (fill) { 2026-05-01T04:25:47.433098Z 01O | ^~~~ 2026-05-01T04:25:47.433098Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-01T04:25:47.433099Z 01O 37 | if (fill) { 2026-05-01T04:25:47.433099Z 01O | ^ 2026-05-01T04:25:47.433100Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-01T04:25:47.433100Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.433101Z 01O | ^~~~ 2026-05-01T04:25:47.433146Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-01T04:25:47.433147Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.433147Z 01O | ^ 2026-05-01T04:25:47.433150Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-01T04:25:47.433151Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.433151Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.433182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-01T04:25:47.433183Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.433184Z 01O | ^ 2026-05-01T04:25:47.433184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-01T04:25:47.433185Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.433185Z 01O | ^~~~~~ 2026-05-01T04:25:47.433186Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-01T04:25:47.433187Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.433187Z 01O | ^ 2026-05-01T04:25:47.433187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-01T04:25:47.433188Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.433189Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.433211Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-01T04:25:47.433212Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.433213Z 01O | ^ 2026-05-01T04:25:47.433213Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-01T04:25:47.433214Z 01O 49 | for (int j=0; j0 checked above 2026-05-01T04:25:47.433220Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.433281Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-01T04:25:47.433282Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.433290Z 01O | ^ 2026-05-01T04:25:47.433290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-01T04:25:47.433291Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.433291Z 01O | ^~~~~~~ 2026-05-01T04:25:47.433292Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-01T04:25:47.433292Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.433293Z 01O | ^ 2026-05-01T04:25:47.433316Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-01T04:25:47.433317Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.433318Z 01O | ^~~~ 2026-05-01T04:25:47.433318Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-01T04:25:47.433319Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-01T04:25:47.433319Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.433320Z 01O | ^~~~ 2026-05-01T04:25:47.433320Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-01T04:25:47.433321Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.433322Z 01O | ^ 2026-05-01T04:25:47.433322Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-01T04:25:47.433323Z 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-05-01T04:25:47.433323Z 01O | ^~~~ 2026-05-01T04:25:47.433365Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-01T04:25:47.433366Z 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-05-01T04:25:47.433367Z 01O | ^ 2026-05-01T04:25:47.433368Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-01T04:25:47.433368Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.433369Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.433410Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-01T04:25:47.433411Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.433412Z 01O | ^ 2026-05-01T04:25:47.433412Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-01T04:25:47.433413Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.433414Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.433414Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-01T04:25:47.433415Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-01T04:25:47.433415Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.433416Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.433417Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-01T04:25:47.433417Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.433418Z 01O | ^ 2026-05-01T04:25:47.433418Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-01T04:25:47.433419Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-01T04:25:47.433419Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.433449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-01T04:25:47.433454Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-01T04:25:47.433455Z 01O | ^ 2026-05-01T04:25:47.433455Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-01T04:25:47.433456Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-01T04:25:47.433596Z 01O 92 | for (int j=0; j= 'thisncol' 2026-05-01T04:25:47.433770Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-05-01T04:25:47.433850Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.433851Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-05-01T04:25:47.433851Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-05-01T04:25:47.433852Z 01O | ^ 2026-05-01T04:25:47.433852Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-05-01T04:25:47.433853Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-05-01T04:25:47.433866Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.433866Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-05-01T04:25:47.433867Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-01T04:25:47.433867Z 01O | ^ 2026-05-01T04:25:47.433868Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-05-01T04:25:47.433868Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.433869Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.433871Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-01T04:25:47.433935Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-05-01T04:25:47.433936Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.433936Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.433937Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-01T04:25:47.433937Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.433938Z 01O | ^ 2026-05-01T04:25:47.433940Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-05-01T04:25:47.433941Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.433942Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.433942Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-05-01T04:25:47.433949Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-01T04:25:47.433950Z 01O | ^ 2026-05-01T04:25:47.433952Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-05-01T04:25:47.433953Z 01O 142 | for (int i=0; i= 'ncol' 2026-05-01T04:25:47.433993Z 01O 143 | for (int i=0; i0 checked above 2026-05-01T04:25:47.434711Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.434717Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.434718Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.434718Z 01O | ^ 2026-05-01T04:25:47.434719Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-01T04:25:47.434719Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.434720Z 01O | ^ 2026-05-01T04:25:47.434722Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.434723Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.434723Z 01O | ^ 2026-05-01T04:25:47.434725Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-01T04:25:47.434726Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.434726Z 01O | ^ 2026-05-01T04:25:47.434728Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-01T04:25:47.434729Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.434730Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.434732Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-01T04:25:47.434733Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.434733Z 01O | ^ 2026-05-01T04:25:47.434737Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-01T04:25:47.434737Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.434738Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.434738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-01T04:25:47.434739Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.434739Z 01O | ^ 2026-05-01T04:25:47.434740Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-01T04:25:47.434740Z 01O 37 | if (fill) { 2026-05-01T04:25:47.434741Z 01O | ^~~~ 2026-05-01T04:25:47.434741Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-01T04:25:47.434742Z 01O 37 | if (fill) { 2026-05-01T04:25:47.434742Z 01O | ^ 2026-05-01T04:25:47.434743Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-01T04:25:47.434743Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.434744Z 01O | ^~~~ 2026-05-01T04:25:47.434746Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-01T04:25:47.434747Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.434747Z 01O | ^ 2026-05-01T04:25:47.434806Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-01T04:25:47.434807Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.434807Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.434808Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-01T04:25:47.434808Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.434809Z 01O | ^ 2026-05-01T04:25:47.434811Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-01T04:25:47.434812Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.434812Z 01O | ^~~~~~ 2026-05-01T04:25:47.434815Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-01T04:25:47.434820Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.434821Z 01O | ^ 2026-05-01T04:25:47.434821Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-05-01T04:25:47.434822Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.434823Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.434825Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.434826Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.434827Z 01O | ^ 2026-05-01T04:25:47.434918Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-05-01T04:25:47.434919Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.434920Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.434920Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-05-01T04:25:47.434921Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.434922Z 01O | ^ 2026-05-01T04:25:47.434925Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-01T04:25:47.434926Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.434927Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.434927Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-01T04:25:47.434928Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.434929Z 01O | ^ 2026-05-01T04:25:47.434929Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.434930Z 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-05-01T04:25:47.434935Z 01O | ^~~~ 2026-05-01T04:25:47.435015Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-05-01T04:25:47.435016Z 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-05-01T04:25:47.435017Z 01O | ^ 2026-05-01T04:25:47.435018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-05-01T04:25:47.435018Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-01T04:25:47.435019Z 01O | ^~~~~ 2026-05-01T04:25:47.435019Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-05-01T04:25:47.435020Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-01T04:25:47.435021Z 01O | ^ 2026-05-01T04:25:47.435021Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-05-01T04:25:47.435027Z 01O 49 | for (int j=0; j0 checked above 2026-05-01T04:25:47.435032Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.435032Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-01T04:25:47.435033Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.435034Z 01O | ^ 2026-05-01T04:25:47.435058Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-01T04:25:47.435059Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.435059Z 01O | ^~~~~~~ 2026-05-01T04:25:47.435060Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-01T04:25:47.435060Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.435061Z 01O | ^ 2026-05-01T04:25:47.435061Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-01T04:25:47.435062Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.435062Z 01O | ^~~~ 2026-05-01T04:25:47.435063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-01T04:25:47.435063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-01T04:25:47.435064Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.435065Z 01O | ^~~~ 2026-05-01T04:25:47.435065Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-01T04:25:47.435066Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.435066Z 01O | ^ 2026-05-01T04:25:47.435069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-01T04:25:47.435070Z 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-05-01T04:25:47.435071Z 01O | ^~~~ 2026-05-01T04:25:47.435071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-01T04:25:47.435072Z 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-05-01T04:25:47.435073Z 01O | ^ 2026-05-01T04:25:47.435107Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-01T04:25:47.435113Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.435114Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.435115Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-01T04:25:47.435115Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.435116Z 01O | ^ 2026-05-01T04:25:47.435143Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-05-01T04:25:47.435144Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-05-01T04:25:47.435145Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.435146Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-01T04:25:47.435146Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.435147Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.435147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-01T04:25:47.435154Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-05-01T04:25:47.435155Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.435155Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.435258Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-05-01T04:25:47.435259Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.435260Z 01O | ^ 2026-05-01T04:25:47.435260Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-05-01T04:25:47.435261Z 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-05-01T04:25:47.435261Z 01O | ^~~~ 2026-05-01T04:25:47.435262Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-05-01T04:25:47.435263Z 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-05-01T04:25:47.435263Z 01O | ^ 2026-05-01T04:25:47.435264Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-05-01T04:25:47.435264Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.435265Z 01O | ^~~~ 2026-05-01T04:25:47.435265Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-05-01T04:25:47.435266Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.435267Z 01O | ^ 2026-05-01T04:25:47.435267Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-05-01T04:25:47.435268Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.435268Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.435269Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-05-01T04:25:47.435293Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-05-01T04:25:47.435294Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.435295Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.435295Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-05-01T04:25:47.435296Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.435297Z 01O | ^ 2026-05-01T04:25:47.435297Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-05-01T04:25:47.435298Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-01T04:25:47.435298Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.435299Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-05-01T04:25:47.435299Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-01T04:25:47.435300Z 01O | ^ 2026-05-01T04:25:47.435300Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-05-01T04:25:47.435301Z 01O 251 | if (idcol) { 2026-05-01T04:25:47.435301Z 01O | ^~~~~ 2026-05-01T04:25:47.435302Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-05-01T04:25:47.435302Z 01O 251 | if (idcol) { 2026-05-01T04:25:47.435303Z 01O | ^ 2026-05-01T04:25:47.435303Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.435304Z 01O 276 | for(int j=0; j0 checked above 2026-05-01T04:25:47.435933Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.435934Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.435935Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.435935Z 01O | ^ 2026-05-01T04:25:47.435956Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-01T04:25:47.435957Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.435957Z 01O | ^ 2026-05-01T04:25:47.435958Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-01T04:25:47.435958Z 01O 956 | #define isNull Rf_isNull 2026-05-01T04:25:47.435959Z 01O | ^ 2026-05-01T04:25:47.435959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-01T04:25:47.435960Z 01O 32 | if (isNull(li)) continue; 2026-05-01T04:25:47.435960Z 01O | ^ 2026-05-01T04:25:47.436000Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-01T04:25:47.436001Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.436001Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.436002Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-01T04:25:47.436002Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-01T04:25:47.436003Z 01O | ^ 2026-05-01T04:25:47.436006Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-01T04:25:47.436007Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.436007Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.436008Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-01T04:25:47.436008Z 01O 35 | if (!thisncol) continue; 2026-05-01T04:25:47.436009Z 01O | ^ 2026-05-01T04:25:47.436009Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-01T04:25:47.436010Z 01O 37 | if (fill) { 2026-05-01T04:25:47.436010Z 01O | ^~~~ 2026-05-01T04:25:47.436011Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-01T04:25:47.436011Z 01O 37 | if (fill) { 2026-05-01T04:25:47.436012Z 01O | ^ 2026-05-01T04:25:47.436093Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-01T04:25:47.436094Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.436095Z 01O | ^~~~ 2026-05-01T04:25:47.436095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-01T04:25:47.436096Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-01T04:25:47.436097Z 01O | ^ 2026-05-01T04:25:47.436163Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-01T04:25:47.436164Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.436165Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.436165Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-01T04:25:47.436166Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-01T04:25:47.436173Z 01O | ^ 2026-05-01T04:25:47.436173Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-01T04:25:47.436174Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.436175Z 01O | ^~~~~~ 2026-05-01T04:25:47.436175Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-01T04:25:47.436176Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-01T04:25:47.436176Z 01O | ^ 2026-05-01T04:25:47.436177Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-05-01T04:25:47.436177Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.436178Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.436178Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.436179Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.436180Z 01O | ^ 2026-05-01T04:25:47.436180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-05-01T04:25:47.436181Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.436182Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.436182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-05-01T04:25:47.436183Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.436184Z 01O | ^ 2026-05-01T04:25:47.436213Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-01T04:25:47.436214Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.436215Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.436215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-01T04:25:47.436216Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-01T04:25:47.436217Z 01O | ^ 2026-05-01T04:25:47.436217Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.436218Z 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-05-01T04:25:47.436242Z 01O | ^~~~ 2026-05-01T04:25:47.436246Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-05-01T04:25:47.436247Z 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-05-01T04:25:47.436248Z 01O | ^ 2026-05-01T04:25:47.436248Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-05-01T04:25:47.436249Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-01T04:25:47.436255Z 01O | ^~~~~ 2026-05-01T04:25:47.436336Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-05-01T04:25:47.436337Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-01T04:25:47.436338Z 01O | ^ 2026-05-01T04:25:47.436338Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-05-01T04:25:47.436339Z 01O 49 | for (int j=0; j0 checked above 2026-05-01T04:25:47.436341Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.436342Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-01T04:25:47.436343Z 01O 29 | for (int i=0; i0 checked above 2026-05-01T04:25:47.436343Z 01O | ^ 2026-05-01T04:25:47.436344Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-01T04:25:47.436344Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.436345Z 01O | ^~~~~~~ 2026-05-01T04:25:47.436345Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-01T04:25:47.436346Z 01O 57 | if (numZero) { // #1871 2026-05-01T04:25:47.436346Z 01O | ^ 2026-05-01T04:25:47.436386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-05-01T04:25:47.436387Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.436388Z 01O | ^~~~ 2026-05-01T04:25:47.436388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-05-01T04:25:47.436389Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-01T04:25:47.436389Z 01O | ^ 2026-05-01T04:25:47.436461Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-01T04:25:47.436462Z 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-05-01T04:25:47.436463Z 01O | ^~~~ 2026-05-01T04:25:47.436463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-01T04:25:47.436464Z 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-05-01T04:25:47.436465Z 01O | ^ 2026-05-01T04:25:47.436465Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-01T04:25:47.436466Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.436467Z 01O | ^~~~~~~~~~~~~~ 2026-05-01T04:25:47.436467Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-01T04:25:47.436468Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-01T04:25:47.436469Z 01O | ^ 2026-05-01T04:25:47.436469Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-05-01T04:25:47.436470Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-05-01T04:25:47.436470Z 01O | ^~~~~~~~~~~ 2026-05-01T04:25:47.436471Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-01T04:25:47.436471Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.436477Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.436477Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-01T04:25:47.436478Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-05-01T04:25:47.436478Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.436479Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.436485Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-05-01T04:25:47.436486Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-01T04:25:47.436486Z 01O | ^ 2026-05-01T04:25:47.436530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-05-01T04:25:47.436531Z 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-05-01T04:25:47.436532Z 01O | ^~~~ 2026-05-01T04:25:47.436533Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-05-01T04:25:47.436533Z 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-05-01T04:25:47.436534Z 01O | ^ 2026-05-01T04:25:47.436610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-05-01T04:25:47.436611Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.436612Z 01O | ^~~~ 2026-05-01T04:25:47.436612Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-05-01T04:25:47.436613Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.436613Z 01O | ^ 2026-05-01T04:25:47.436614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-05-01T04:25:47.436614Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.436615Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.436615Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-05-01T04:25:47.436616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-05-01T04:25:47.436617Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.436617Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.436618Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-05-01T04:25:47.436618Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-01T04:25:47.436619Z 01O | ^ 2026-05-01T04:25:47.436619Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-05-01T04:25:47.436620Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-01T04:25:47.436621Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.436621Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-05-01T04:25:47.436625Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-01T04:25:47.436625Z 01O | ^ 2026-05-01T04:25:47.436626Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-05-01T04:25:47.436627Z 01O 251 | if (idcol) { 2026-05-01T04:25:47.436627Z 01O | ^~~~~ 2026-05-01T04:25:47.436627Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-05-01T04:25:47.436628Z 01O 251 | if (idcol) { 2026-05-01T04:25:47.436629Z 01O | ^ 2026-05-01T04:25:47.436685Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.436686Z 01O 276 | for(int j=0; j= 1 2026-05-01T04:25:47.437190Z 01O 27 | if (n<1) return 0; 2026-05-01T04:25:47.437190Z 01O | ^~~ 2026-05-01T04:25:47.437191Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-05-01T04:25:47.437191Z 01O 27 | if (n<1) return 0; 2026-05-01T04:25:47.437192Z 01O | ^ 2026-05-01T04:25:47.437192Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-05-01T04:25:47.437193Z 01O 29 | va_start(ap, fmt); 2026-05-01T04:25:47.437193Z 01O | ^ 2026-05-01T04:25:47.437260Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-05-01T04:25:47.437261Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-05-01T04:25:47.437262Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-01T04:25:47.437262Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-05-01T04:25:47.437263Z 01O 40 | while (*ch!='\0') { 2026-05-01T04:25:47.437264Z 01O | ^~~~~~~~~ 2026-05-01T04:25:47.437264Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-05-01T04:25:47.437265Z 01O 40 | while (*ch!='\0') { 2026-05-01T04:25:47.437265Z 01O | ^ 2026-05-01T04:25:47.437268Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-05-01T04:25:47.437269Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-05-01T04:25:47.437269Z 01O | ^~~~~~~~ 2026-05-01T04:25:47.437270Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-05-01T04:25:47.437270Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-05-01T04:25:47.437271Z 01O | ^ 2026-05-01T04:25:47.437271Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-05-01T04:25:47.437272Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-05-01T04:25:47.437273Z 01O | ^~~~~~~~~~ 2026-05-01T04:25:47.437336Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-05-01T04:25:47.437337Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-05-01T04:25:47.437338Z 01O | ^ 2026-05-01T04:25:47.437338Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-05-01T04:25:47.437339Z 01O 47 | if (!end) { 2026-05-01T04:25:47.437339Z 01O | ^~~~ 2026-05-01T04:25:47.437340Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-05-01T04:25:47.437340Z 01O 47 | if (!end) { 2026-05-01T04:25:47.437341Z 01O | ^ 2026-05-01T04:25:47.437341Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-05-01T04:25:47.437342Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-05-01T04:25:47.437342Z 01O | ^ 2026-05-01T04:25:47.437347Z 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-05-01T04:25:47.437349Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-05-01T04:25:47.437356Z 01O | ^~~~~~ 2026-05-01T04:25:47.437357Z 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-05-01T04:25:47.437358Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-05-01T04:25:47.437358Z 01O | ^~~~~~ 2026-05-01T04:25:47.437609Z 01E Suppressed 1 warnings (1 in non-user code). 2026-05-01T04:25:47.437610Z 01E Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2026-05-01T04:25:47.454290Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-05-01T04:25:47.981850Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-05-01T04:25:47.981909Z 01O * using R Under development (unstable) (2026-04-29 r89977) 2026-05-01T04:25:47.982188Z 01O * using platform: x86_64-pc-linux-gnu 2026-05-01T04:25:47.982417Z 01O * R was compiled by 2026-05-01T04:25:47.982546Z 01O Debian clang version 21.1.8 (3+b1) 2026-05-01T04:25:47.982547Z 01O GNU Fortran (Debian 15.2.0-16) 15.2.0 2026-05-01T04:25:47.982815Z 01O * running under: Debian GNU/Linux forky/sid 2026-05-01T04:25:47.983091Z 01O * using session charset: UTF-8 2026-05-01T04:25:47.983655Z 01O * current time: 2026-05-01 04:25:47 UTC 2026-05-01T04:25:48.715530Z 01O * using option ‘--as-cran’ 2026-05-01T04:25:48.715747Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-05-01T04:25:48.717867Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-05-01T04:25:48.718084Z 01O * package encoding: UTF-8 2026-05-01T04:25:48.718294Z 01O * checking CRAN incoming feasibility ... OK 2026-05-01T04:25:49.221166Z 01O * checking package namespace information ... OK 2026-05-01T04:25:49.228336Z 01O * checking package dependencies ... OK 2026-05-01T04:25:50.564917Z 01O * checking if this is a source package ... OK 2026-05-01T04:25:50.567755Z 01O * checking if there is a namespace ... OK 2026-05-01T04:25:50.572482Z 01O * checking for .dll and .exe files ... OK 2026-05-01T04:25:50.573078Z 01O * checking for hidden files and directories ... OK 2026-05-01T04:25:50.576260Z 01O * checking for portable file names ... OK 2026-05-01T04:25:50.580853Z 01O * checking for sufficient/correct file permissions ... OK 2026-05-01T04:25:50.584703Z 01O * checking whether package ‘data.table’ can be installed ... [22s/22s] OK 2026-05-01T04:26:12.250916Z 01O * used C compiler: ‘Debian clang version 21.1.8 (3+b1)’ 2026-05-01T04:26:12.251291Z 01O * checking installed package size ... INFO 2026-05-01T04:26:12.255208Z 01O installed size is 7.9Mb 2026-05-01T04:26:12.255851Z 01O sub-directories of 1Mb or more: 2026-05-01T04:26:12.256317Z 01O doc 1.1Mb 2026-05-01T04:26:12.256319Z 01O libs 1.5Mb 2026-05-01T04:26:12.256319Z 01O po 1.7Mb 2026-05-01T04:26:12.256320Z 01O tests 2.2Mb 2026-05-01T04:26:12.276693Z 01O * checking package directory ... OK 2026-05-01T04:26:12.277127Z 01O * checking for future file timestamps ... OK 2026-05-01T04:26:12.277772Z 01O * checking ‘build’ directory ... OK 2026-05-01T04:26:12.278718Z 01O * checking DESCRIPTION meta-information ... OK 2026-05-01T04:26:13.065797Z 01O * checking top-level files ... OK 2026-05-01T04:26:14.505769Z 01O * checking for left-over files ... OK 2026-05-01T04:26:14.509263Z 01O * checking index information ... OK 2026-05-01T04:26:14.678136Z 01O * checking package subdirectories ... OK 2026-05-01T04:26:15.049854Z 01O * checking code files for non-ASCII characters ... OK 2026-05-01T04:26:15.099962Z 01O * checking R files for syntax errors ... OK 2026-05-01T04:26:15.178703Z 01O * checking whether the package can be loaded ... OK 2026-05-01T04:26:15.380890Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-05-01T04:26:15.544988Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-05-01T04:26:15.715219Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-05-01T04:26:15.879225Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-05-01T04:26:16.094297Z 01O * checking loading without being on the library search path ... OK 2026-05-01T04:26:16.520421Z 01O * checking whether startup messages can be suppressed ... OK 2026-05-01T04:26:16.729570Z 01O * checking use of S3 registration ... OK 2026-05-01T04:26:16.760221Z 01O * checking dependencies in R code ... OK 2026-05-01T04:26:17.589818Z 01O * checking S3 generic/method consistency ... OK 2026-05-01T04:26:17.946828Z 01O * checking replacement functions ... OK 2026-05-01T04:26:18.152666Z 01O * checking foreign function calls ... OK 2026-05-01T04:26:18.924852Z 01O * checking R code for possible problems ... [16s/16s] OK 2026-05-01T04:26:35.051920Z 01O * checking Rd files ... OK 2026-05-01T04:26:35.881769Z 01O * checking Rd metadata ... OK 2026-05-01T04:26:35.925502Z 01O * checking Rd line widths ... OK 2026-05-01T04:26:36.226960Z 01O * checking Rd cross-references ... OK 2026-05-01T04:26:36.822273Z 01O * checking for missing documentation entries ... OK 2026-05-01T04:26:37.053338Z 01O * checking for code/documentation mismatches ... OK 2026-05-01T04:26:38.040811Z 01O * checking Rd \usage sections ... OK 2026-05-01T04:26:38.925425Z 01O * checking Rd contents ... OK 2026-05-01T04:26:39.375037Z 01O * checking for unstated dependencies in examples ... OK 2026-05-01T04:26:39.855235Z 01O * checking line endings in shell scripts ... OK 2026-05-01T04:26:39.855753Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-05-01T04:26:39.875270Z 01O * checking line endings in Makefiles ... OK 2026-05-01T04:26:39.875799Z 01O * checking compilation flags in Makevars ... OK 2026-05-01T04:26:39.929310Z 01O * checking for GNU extensions in Makefiles ... OK 2026-05-01T04:26:39.930079Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-05-01T04:26:39.931308Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-05-01T04:26:39.940949Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-05-01T04:26:39.947729Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-05-01T04:26:39.967474Z 01O * checking compilation flags used ... OK 2026-05-01T04:26:39.969124Z 01O * checking compiled code ... OK 2026-05-01T04:26:40.082776Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-05-01T04:26:40.282423Z 01O * checking files in ‘vignettes’ ... OK 2026-05-01T04:26:41.092923Z 01O * checking examples ... OK 2026-05-01T04:26:47.727027Z 01O * checking examples with --run-donttest ... OK 2026-05-01T04:26:56.906337Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-05-01T04:26:56.972860Z 01O * checking tests ... 2026-05-01T04:26:57.121011Z 01O Running ‘autoprint.R’ 2026-05-01T04:26:57.374085Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-05-01T04:26:57.380585Z 01O Running ‘froll.R’ [395s/395s] 2026-05-01T04:33:32.770130Z 01O Running ‘litedown.R’ 2026-05-01T04:33:33.148820Z 01O Running ‘main.R’ [42s/42s] 2026-05-01T04:34:15.082560Z 01O Running ‘mergelist.R’ 2026-05-01T04:34:16.649445Z 01O Running ‘nafill.R’ 2026-05-01T04:34:17.223304Z 01O Running ‘optimize.R’ 2026-05-01T04:34:18.573812Z 01O Running ‘other.R’ 2026-05-01T04:34:18.808709Z 01O Running ‘programming.R’ 2026-05-01T04:34:19.432504Z 01O Running ‘S4.R’ 2026-05-01T04:34:19.831170Z 01O Running ‘types.R’ 2026-05-01T04:34:20.099248Z 01O [443s/443s] OK 2026-05-01T04:34:20.206630Z 01O * checking for unstated dependencies in vignettes ... OK 2026-05-01T04:34:20.488129Z 01O * checking package vignettes ... OK 2026-05-01T04:34:21.129514Z 01O * checking re-building of vignette outputs ... [30s/31s] OK 2026-05-01T04:34:52.185804Z 01O * checking PDF version of manual ... OK 2026-05-01T04:34:58.197697Z 01O * checking HTML version of manual ... NOTE 2026-05-01T04:35:04.444362Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-05-01T04:35:04.444369Z 01O * checking for non-standard things in the check directory ... OK 2026-05-01T04:35:04.444908Z 01O * checking for detritus in the temp directory ... OK 2026-05-01T04:35:04.445587Z 01O * DONE 2026-05-01T04:35:04.445944Z 01E 2026-05-01T04:35:04.446071Z 01O Status: 1 NOTE 2026-05-01T04:35:04.446199Z 01E See 2026-05-01T04:35:04.446200Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-05-01T04:35:04.446201Z 01E for details. 2026-05-01T04:35:04.446293Z 01E 2026-05-01T04:35:04.466200Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-05-01T04:35:04.467943Z 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-05-01T04:35:04.657916Z 00O section_end:1777610104:step_script 2026-05-01T04:35:04.657920Z 00O+section_start:1777610104:after_script 2026-05-01T04:35:04.658312Z 00O+Running after_script 2026-05-01T04:35:04.994354Z 01O Running after script... 2026-05-01T04:35:04.994371Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-05-01T04:35:04.995412Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-05-01T04:35:04.995413Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-05-01T04:35:04.995517Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-05-01T04:35:04.995591Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-05-01T04:35:05.177797Z 00O section_end:1777610105:after_script 2026-05-01T04:35:05.177801Z 00O+section_start:1777610105:upload_artifacts_on_failure 2026-05-01T04:35:05.178476Z 00O+Uploading artifacts for failed job 2026-05-01T04:35:05.598365Z 01O Uploading artifacts... 2026-05-01T04:35:05.685441Z 01E bus/test-lin-dev-clang-cran: found 714 matching artifact files and directories 2026-05-01T04:35:07.847734Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=06e0e51643b540cf88d702f31106a97e id=14173257975 responseStatus=201 Created token=6e_6H7yBf 2026-05-01T04:35:08.053141Z 00O section_end:1777610108:upload_artifacts_on_failure 2026-05-01T04:35:08.053146Z 00O+section_start:1777610108:cleanup_file_variables 2026-05-01T04:35:08.053236Z 00O+Cleaning up project directory and file based variables 2026-05-01T04:35:08.603898Z 00O section_end:1777610108:cleanup_file_variables 2026-05-01T04:35:08.603903Z 00O+ 2026-05-01T04:35:08.648575Z 00O ERROR: Job failed: exit code 1