2026-02-15T04:25:59.380962Z 00O Running with gitlab-runner 18.7.0~pre.433.g3a5f2314 (3a5f2314) 2026-02-15T04:25:59.380974Z 00O  on blue-3.saas-linux-medium-amd64.runners-manager.gitlab.com/default U4xQPDyhm, system ID: s_b59597d5b921 2026-02-15T04:25:59.381004Z 00O Resolving secrets 2026-02-15T04:25:59.381201Z 00O section_start:1771129559:prepare_executor 2026-02-15T04:25:59.381203Z 00O+Preparing the "docker+machine" executor 2026-02-15T04:25:59.511560Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-02-15T04:26:03.796291Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-02-15T04:26:03.796911Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-02-15T04:26:03.796919Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-02-15T04:26:24.354042Z 00O Using docker image sha256:52efe68cce23506b2cadad14f0468a6fa4224501d75143a8e3a202513fbe24f1 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:da4f960d8f84c69ad0516bf8b8b259af767c6be47dab07bec98e747103d30cb2 ... 2026-02-15T04:26:24.354130Z 00O section_end:1771129584:prepare_executor 2026-02-15T04:26:24.354132Z 00O+section_start:1771129584:prepare_script 2026-02-15T04:26:24.354217Z 00O+Preparing environment 2026-02-15T04:26:24.355262Z 00O Using effective pull policy of [always] for container sha256:1f348d7f4270d638a0bfe8dbd1da77f7194c60e9a6805f8062886a3177698124 2026-02-15T04:26:31.397239Z 01O Running on runner-u4xqpdyhm-project-3622566-concurrent-0 via runner-u4xqpdyhm-s-l-m-amd64-1771129424-bdf18924... 2026-02-15T04:26:31.575429Z 00O section_end:1771129591:prepare_script 2026-02-15T04:26:31.575434Z 00O+section_start:1771129591:get_sources 2026-02-15T04:26:31.575909Z 00O+Getting source from Git repository 2026-02-15T04:26:31.981624Z 01O Gitaly correlation ID: e65eaf4c67104b08a7515c9fdd7d75e9 2026-02-15T04:26:31.987268Z 01O Fetching changes... 2026-02-15T04:26:31.990455Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-02-15T04:26:31.992694Z 01O Created fresh repository. 2026-02-15T04:26:37.622826Z 01O Checking out 1bd88cbc as detached HEAD (ref is master)... 2026-02-15T04:26:37.817063Z 01O 2026-02-15T04:26:37.817071Z 01O Skipping Git submodules setup 2026-02-15T04:26:37.817073Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-02-15T04:26:38.065197Z 00O section_end:1771129598:get_sources 2026-02-15T04:26:38.065203Z 00O+section_start:1771129598:download_artifacts 2026-02-15T04:26:38.065873Z 00O+Downloading artifacts 2026-02-15T04:26:38.506150Z 01O Downloading artifacts for mirror-packages (13120362981)... 2026-02-15T04:26:39.623560Z 01E Downloading artifacts from coordinator... ok  correlation_id=b267e7ebff2149a19431fe069ad64260 host=storage.googleapis.com id=13120362981 responseStatus=200 OK token=6c_zaD2Ys 2026-02-15T04:26:39.854436Z 01O Downloading artifacts for build (13120362982)... 2026-02-15T04:26:40.209530Z 01E Downloading artifacts from coordinator... ok  correlation_id=52f08fc80c154d6a9f267c67f2935fcd host=storage.googleapis.com id=13120362982 responseStatus=200 OK token=6c_zaD2Ys 2026-02-15T04:26:40.925016Z 00O section_end:1771129600:download_artifacts 2026-02-15T04:26:40.925022Z 00O+section_start:1771129600:step_script 2026-02-15T04:26:40.925479Z 00O+Executing "step_script" stage of the job script 2026-02-15T04:26:40.925502Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-02-15T04:26:40.926529Z 00O Using docker image sha256:52efe68cce23506b2cadad14f0468a6fa4224501d75143a8e3a202513fbe24f1 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:da4f960d8f84c69ad0516bf8b8b259af767c6be47dab07bec98e747103d30cb2 ... 2026-02-15T04:26:41.306931Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-02-15T04:26:41.316345Z 01O $ mkdir -p ~/.R 2026-02-15T04:26:41.317947Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-02-15T04:26:41.318066Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-02-15T04:26:41.318121Z 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-02-15T04:26:41.539401Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-02-15T04:26:41.539408Z 01E 2026-02-15T04:27:56.303001Z 01E Updating HTML index of packages in '.Library' 2026-02-15T04:27:56.303266Z 01E Making 'packages.html' ... done 2026-02-15T04:27:56.322335Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-02-15T04:27:56.341809Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-02-15T04:28:03.867731Z 01E 3 warnings generated. 2026-02-15T04:28:03.867837Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-02-15T04:28:06.932845Z 01E 3 warnings generated. 2026-02-15T04:28:06.933068Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-02-15T04:28:13.806208Z 01E 3 warnings generated. 2026-02-15T04:28:13.806221Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-02-15T04:28:14.050431Z 01E 7 warnings generated. 2026-02-15T04:28:14.050845Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-02-15T04:28:16.821117Z 01E 7 warnings generated. 2026-02-15T04:28:16.821588Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-02-15T04:28:19.135335Z 01E 7 warnings generated. 2026-02-15T04:28:19.135506Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-02-15T04:28:23.424717Z 01E 7 warnings generated. 2026-02-15T04:28:23.424952Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-02-15T04:28:23.489626Z 01E 7 warnings generated. 2026-02-15T04:28:23.489882Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-02-15T04:28:26.512657Z 01E 10 warnings generated. 2026-02-15T04:28:26.512892Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-02-15T04:28:31.996880Z 01E 11 warnings generated. 2026-02-15T04:28:31.996993Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-02-15T04:28:36.088405Z 01E 12 warnings generated. 2026-02-15T04:28:36.088696Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-02-15T04:28:44.571992Z 01E 13 warnings generated. 2026-02-15T04:28:44.572003Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-02-15T04:28:48.073086Z 01E 13 warnings generated. 2026-02-15T04:28:48.073365Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-02-15T04:28:53.576440Z 01E 25 warnings generated. 2026-02-15T04:28:53.576457Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-02-15T04:29:02.391546Z 01E 25 warnings generated. 2026-02-15T04:29:02.391559Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-02-15T04:29:13.235101Z 01E 31 warnings generated. 2026-02-15T04:29:13.235118Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-02-15T04:29:16.998313Z 01E 32 warnings generated. 2026-02-15T04:29:16.998495Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-02-15T04:29:19.487494Z 01E 35 warnings generated. 2026-02-15T04:29:19.487729Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-02-15T04:29:19.539631Z 01E 35 warnings generated. 2026-02-15T04:29:19.540065Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-02-15T04:29:19.881757Z 01E 35 warnings generated. 2026-02-15T04:29:19.882020Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-02-15T04:29:26.243246Z 01E 37 warnings generated. 2026-02-15T04:29:26.243261Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-02-15T04:29:29.831752Z 01E 37 warnings generated. 2026-02-15T04:29:29.832036Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-02-15T04:29:43.814383Z 01E 42 warnings generated. 2026-02-15T04:29:43.814395Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-02-15T04:29:43.937568Z 01E 43 warnings generated. 2026-02-15T04:29:43.937964Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-02-15T04:29:44.194442Z 01E 43 warnings generated. 2026-02-15T04:29:44.194661Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-02-15T04:29:49.098716Z 01E 46 warnings generated. 2026-02-15T04:29:49.098916Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-02-15T04:29:49.150830Z 01E 46 warnings generated. 2026-02-15T04:29:49.151155Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-02-15T04:29:49.186206Z 01E 46 warnings generated. 2026-02-15T04:29:49.186544Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-02-15T04:29:50.099579Z 01E 46 warnings generated. 2026-02-15T04:29:50.099788Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-02-15T04:29:53.359711Z 01E 59 warnings generated. 2026-02-15T04:29:53.359991Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-02-15T04:29:53.393020Z 01E 59 warnings generated. 2026-02-15T04:29:53.393307Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-02-15T04:29:53.444191Z 01E 59 warnings generated. 2026-02-15T04:29:53.444593Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-02-15T04:29:53.599400Z 01E 60 warnings generated. 2026-02-15T04:29:53.599673Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-02-15T04:29:54.078173Z 01E 60 warnings generated. 2026-02-15T04:29:54.078474Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-02-15T04:29:54.892458Z 01E 60 warnings generated. 2026-02-15T04:29:54.892699Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-02-15T04:29:58.289568Z 01E 66 warnings generated. 2026-02-15T04:29:58.289769Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-02-15T04:30:01.035215Z 01E 66 warnings generated. 2026-02-15T04:30:01.035447Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-02-15T04:30:01.065031Z 01E 66 warnings generated. 2026-02-15T04:30:01.065482Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-02-15T04:30:04.073923Z 01E 66 warnings generated. 2026-02-15T04:30:04.074103Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-02-15T04:30:05.403866Z 01E 68 warnings generated. 2026-02-15T04:30:05.404113Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-02-15T04:30:05.774851Z 01E 68 warnings generated. 2026-02-15T04:30:05.775247Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-02-15T04:30:08.621080Z 01E 68 warnings generated. 2026-02-15T04:30:08.621355Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-02-15T04:30:08.969928Z 01E 68 warnings generated. 2026-02-15T04:30:08.970333Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-02-15T04:30:16.198356Z 01E 68 warnings generated. 2026-02-15T04:30:16.198366Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-02-15T04:30:17.088464Z 01E 68 warnings generated. 2026-02-15T04:30:17.088974Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-02-15T04:30:17.128029Z 01E 68 warnings generated. 2026-02-15T04:30:17.128424Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-02-15T04:30:17.206807Z 01E 68 warnings generated. 2026-02-15T04:30:17.207560Z 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-02-15T04:30:17.207566Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-02-15T04:30:17.207567Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207568Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-02-15T04:30:17.207568Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207569Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-02-15T04:30:17.207570Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207571Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-02-15T04:30:17.207571Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207572Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-02-15T04:30:17.207573Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207573Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-02-15T04:30:17.207574Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207575Z 01O 15 | R_NilValue 2026-02-15T04:30:17.207575Z 01O | ~~~~~~~~~~ 2026-02-15T04:30:17.207575Z 01O 16 | )) 2026-02-15T04:30:17.207576Z 01O | ~~ 2026-02-15T04:30:17.207576Z 01O 17 | )); 2026-02-15T04:30:17.207577Z 01O | ~ 2026-02-15T04:30:17.207577Z 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-02-15T04:30:17.207578Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-02-15T04:30:17.207578Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207579Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-02-15T04:30:17.207580Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207610Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-02-15T04:30:17.207611Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207612Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-02-15T04:30:17.207613Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207613Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-02-15T04:30:17.207614Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207615Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-02-15T04:30:17.207615Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207616Z 01O 15 | R_NilValue 2026-02-15T04:30:17.207616Z 01O | ~~~~~~~~~~ 2026-02-15T04:30:17.207617Z 01O 16 | )) 2026-02-15T04:30:17.207617Z 01O | ~~ 2026-02-15T04:30:17.207618Z 01O 17 | )); 2026-02-15T04:30:17.207618Z 01O | ~ 2026-02-15T04:30:17.207630Z 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-02-15T04:30:17.207631Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-15T04:30:17.207631Z 01O | ^ 2026-02-15T04:30:17.207632Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-02-15T04:30:17.207632Z 01O 937 | const STYPE val = sd[soff]; \ 2026-02-15T04:30:17.207633Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.207634Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'len' is >= 1 2026-02-15T04:30:17.207635Z 01O 714 | if (len<1) return NULL; 2026-02-15T04:30:17.207636Z 01O | ^~~~~ 2026-02-15T04:30:17.207637Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-02-15T04:30:17.207637Z 01O 714 | if (len<1) return NULL; 2026-02-15T04:30:17.207638Z 01O | ^ 2026-02-15T04:30:17.207652Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: Assuming 'sourceLen' is < 0 2026-02-15T04:30:17.207653Z 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-02-15T04:30:17.207654Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.207654Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: '?' condition is false 2026-02-15T04:30:17.207655Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming 'slen' is not equal to 0 2026-02-15T04:30:17.207655Z 01O 716 | if (slen==0) return NULL; 2026-02-15T04:30:17.207656Z 01O | ^~~~~~~ 2026-02-15T04:30:17.207656Z 01O /builds/Rdatatable/data.table/src/assign.c:716:3: note: Taking false branch 2026-02-15T04:30:17.207657Z 01O 716 | if (slen==0) return NULL; 2026-02-15T04:30:17.207657Z 01O | ^ 2026-02-15T04:30:17.207658Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Assuming 'sourceStart' is >= 0 2026-02-15T04:30:17.207658Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-02-15T04:30:17.207659Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.207659Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Left side of '||' is false 2026-02-15T04:30:17.207660Z 01O /builds/Rdatatable/data.table/src/assign.c:717:24: note: Assuming the condition is false 2026-02-15T04:30:17.207661Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-02-15T04:30:17.207661Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207667Z 01O /builds/Rdatatable/data.table/src/assign.c:717:3: note: Taking false branch 2026-02-15T04:30:17.207667Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-02-15T04:30:17.207668Z 01O | ^ 2026-02-15T04:30:17.207668Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming the condition is false 2026-02-15T04:30:17.207669Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-02-15T04:30:17.207669Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.207766Z 01O /builds/Rdatatable/data.table/src/assign.c:719:22: note: Left side of '&&' is false 2026-02-15T04:30:17.207767Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-02-15T04:30:17.207768Z 01O | ^ 2026-02-15T04:30:17.207768Z 01O /builds/Rdatatable/data.table/src/assign.c:722:7: note: Assuming 'slen' is <= 1 2026-02-15T04:30:17.207769Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-02-15T04:30:17.207770Z 01O | ^~~~~~ 2026-02-15T04:30:17.207770Z 01O /builds/Rdatatable/data.table/src/assign.c:722:14: note: Left side of '&&' is false 2026-02-15T04:30:17.207771Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-02-15T04:30:17.207771Z 01O | ^ 2026-02-15T04:30:17.207772Z 01O /builds/Rdatatable/data.table/src/assign.c:726:7: note: Assuming 'colname' is not equal to NULL 2026-02-15T04:30:17.207772Z 01O 726 | if (colname==NULL) 2026-02-15T04:30:17.207773Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.207773Z 01O /builds/Rdatatable/data.table/src/assign.c:726:3: note: Taking false branch 2026-02-15T04:30:17.207774Z 01O 726 | if (colname==NULL) 2026-02-15T04:30:17.207774Z 01O | ^ 2026-02-15T04:30:17.207775Z 01O /builds/Rdatatable/data.table/src/assign.c:731:26: note: Assuming the condition is false 2026-02-15T04:30:17.207775Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-02-15T04:30:17.207776Z 01O | ^ 2026-02-15T04:30:17.207821Z 01O /usr/local/lib/R/include/Rinternals.h:975:18: note: expanded from macro 'isReal' 2026-02-15T04:30:17.207822Z 01O 975 | #define isReal Rf_isReal 2026-02-15T04:30:17.207823Z 01O | ^ 2026-02-15T04:30:17.207823Z 01O /builds/Rdatatable/data.table/src/assign.c:731:41: note: Left side of '&&' is false 2026-02-15T04:30:17.207824Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-02-15T04:30:17.207824Z 01O | ^ 2026-02-15T04:30:17.207825Z 01O /builds/Rdatatable/data.table/src/assign.c:732:26: note: Assuming the condition is false 2026-02-15T04:30:17.207826Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-02-15T04:30:17.207826Z 01O | ^ 2026-02-15T04:30:17.207827Z 01O /usr/local/lib/R/include/Rinternals.h:975:18: note: expanded from macro 'isReal' 2026-02-15T04:30:17.207827Z 01O 975 | #define isReal Rf_isReal 2026-02-15T04:30:17.207828Z 01O | ^ 2026-02-15T04:30:17.207828Z 01O /builds/Rdatatable/data.table/src/assign.c:732:41: note: Left side of '&&' is false 2026-02-15T04:30:17.207829Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-02-15T04:30:17.207829Z 01O | ^ 2026-02-15T04:30:17.207830Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Assuming 'sourceIsFactor' is false 2026-02-15T04:30:17.207831Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-02-15T04:30:17.207831Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.207832Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Left side of '||' is false 2026-02-15T04:30:17.207900Z 01O /builds/Rdatatable/data.table/src/assign.c:733:25: note: Assuming 'targetIsFactor' is false 2026-02-15T04:30:17.207906Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-02-15T04:30:17.207907Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.207908Z 01O /builds/Rdatatable/data.table/src/assign.c:733:3: note: Taking false branch 2026-02-15T04:30:17.207908Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-02-15T04:30:17.207909Z 01O | ^ 2026-02-15T04:30:17.207909Z 01O /builds/Rdatatable/data.table/src/assign.c:840:14: note: Assuming the condition is false 2026-02-15T04:30:17.207910Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-02-15T04:30:17.207910Z 01O | ^ 2026-02-15T04:30:17.207911Z 01O /usr/local/lib/R/include/Rinternals.h:978:19: note: expanded from macro 'isString' 2026-02-15T04:30:17.207911Z 01O 978 | #define isString Rf_isString 2026-02-15T04:30:17.207912Z 01O | ^ 2026-02-15T04:30:17.207930Z 01O /builds/Rdatatable/data.table/src/assign.c:840:31: note: Left side of '&&' is false 2026-02-15T04:30:17.207931Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-02-15T04:30:17.207931Z 01O | ^ 2026-02-15T04:30:17.207932Z 01O /builds/Rdatatable/data.table/src/assign.c:849:14: note: Assuming the condition is false 2026-02-15T04:30:17.207932Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-02-15T04:30:17.207933Z 01O | ^ 2026-02-15T04:30:17.207933Z 01O /usr/local/lib/R/include/Rinternals.h:967:20: note: expanded from macro 'isNewList' 2026-02-15T04:30:17.207934Z 01O 967 | #define isNewList Rf_isNewList 2026-02-15T04:30:17.207935Z 01O | ^ 2026-02-15T04:30:17.207935Z 01O /builds/Rdatatable/data.table/src/assign.c:849:32: note: Left side of '&&' is false 2026-02-15T04:30:17.207936Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-02-15T04:30:17.207936Z 01O | ^ 2026-02-15T04:30:17.207937Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Assuming the condition is false 2026-02-15T04:30:17.207937Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-02-15T04:30:17.207938Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.207939Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Left side of '||' is false 2026-02-15T04:30:17.207968Z 01O /builds/Rdatatable/data.table/src/assign.c:864:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-02-15T04:30:17.207969Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-02-15T04:30:17.207970Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.207970Z 01O /builds/Rdatatable/data.table/src/assign.c:864:75: note: Left side of '&&' is false 2026-02-15T04:30:17.207971Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-02-15T04:30:17.207971Z 01O | ^ 2026-02-15T04:30:17.208006Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: Assuming the condition is false 2026-02-15T04:30:17.208007Z 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-02-15T04:30:17.208007Z 01O | ^ 2026-02-15T04:30:17.208008Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208008Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208009Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.208043Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: '?' condition is false 2026-02-15T04:30:17.208050Z 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-02-15T04:30:17.208050Z 01O | ^ 2026-02-15T04:30:17.208051Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208051Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208052Z 01O | ^ 2026-02-15T04:30:17.208057Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Assuming the condition is true 2026-02-15T04:30:17.208058Z 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-02-15T04:30:17.208058Z 01O | ^ 2026-02-15T04:30:17.208059Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208060Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208060Z 01O | ^ 2026-02-15T04:30:17.208189Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-02-15T04:30:17.208190Z 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-02-15T04:30:17.208191Z 01O | ^ 2026-02-15T04:30:17.208191Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208192Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208193Z 01O | ^ 2026-02-15T04:30:17.208193Z 01O /builds/Rdatatable/data.table/src/assign.c:975:39: note: Assuming 'slen' is > 0 2026-02-15T04:30:17.208194Z 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-02-15T04:30:17.208195Z 01O | ^~~~~~ 2026-02-15T04:30:17.208199Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-02-15T04:30:17.208199Z 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-02-15T04:30:17.208200Z 01O | ^ 2026-02-15T04:30:17.208201Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208201Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208202Z 01O | ^ 2026-02-15T04:30:17.208243Z 01O /builds/Rdatatable/data.table/src/assign.c:975:49: note: Assuming 'slen' is equal to 'len' 2026-02-15T04:30:17.208245Z 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-02-15T04:30:17.208246Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.208261Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-02-15T04:30:17.208262Z 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-02-15T04:30:17.208263Z 01O | ^ 2026-02-15T04:30:17.208263Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208264Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208264Z 01O | ^ 2026-02-15T04:30:17.208268Z 01O /builds/Rdatatable/data.table/src/assign.c:975:62: note: Assuming 'soff' is not equal to 0 2026-02-15T04:30:17.208280Z 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-02-15T04:30:17.208281Z 01O | ^~~~~~~ 2026-02-15T04:30:17.208299Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: Assuming the condition is false 2026-02-15T04:30:17.208300Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-02-15T04:30:17.208301Z 01O | ^ 2026-02-15T04:30:17.208301Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208302Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208302Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.208303Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: '?' condition is false 2026-02-15T04:30:17.208303Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-02-15T04:30:17.208304Z 01O | ^ 2026-02-15T04:30:17.208304Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208305Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208305Z 01O | ^ 2026-02-15T04:30:17.208306Z 01O /builds/Rdatatable/data.table/src/assign.c:977:3: note: Control jumps to 'case 20:' at line 1105 2026-02-15T04:30:17.208306Z 01O 977 | switch (TYPEOF(target)) { 2026-02-15T04:30:17.208307Z 01O | ^ 2026-02-15T04:30:17.208316Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: 'len' is equal to 1 2026-02-15T04:30:17.208317Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-15T04:30:17.208317Z 01O | ^~~ 2026-02-15T04:30:17.208318Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-02-15T04:30:17.208332Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:21: note: Assuming the condition is true 2026-02-15T04:30:17.208333Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-15T04:30:17.208334Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.208334Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-02-15T04:30:17.208335Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-15T04:30:17.208336Z 01O | ^ 2026-02-15T04:30:17.208346Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:47: note: Assuming the condition is true 2026-02-15T04:30:17.208346Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-15T04:30:17.208347Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.208348Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:5: note: Taking true branch 2026-02-15T04:30:17.208348Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-15T04:30:17.208349Z 01O | ^ 2026-02-15T04:30:17.208540Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Assuming the condition is true 2026-02-15T04:30:17.208541Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-15T04:30:17.208541Z 01O | ^ 2026-02-15T04:30:17.208542Z 01O /builds/Rdatatable/data.table/src/assign.c:935:9: note: expanded from macro 'BODY' 2026-02-15T04:30:17.208542Z 01O 935 | if (length(where)) { \ 2026-02-15T04:30:17.208543Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.208543Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.208544Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.208550Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.208550Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-02-15T04:30:17.208551Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-15T04:30:17.208552Z 01O | ^ 2026-02-15T04:30:17.208552Z 01O /builds/Rdatatable/data.table/src/assign.c:935:5: note: expanded from macro 'BODY' 2026-02-15T04:30:17.208553Z 01O 935 | if (length(where)) { \ 2026-02-15T04:30:17.208553Z 01O | ^ 2026-02-15T04:30:17.208554Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: 'slen' is equal to 1 2026-02-15T04:30:17.208554Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-15T04:30:17.208555Z 01O | ^ 2026-02-15T04:30:17.208555Z 01O /builds/Rdatatable/data.table/src/assign.c:936:11: note: expanded from macro 'BODY' 2026-02-15T04:30:17.208556Z 01O 936 | if (slen==1) { \ 2026-02-15T04:30:17.208556Z 01O | ^~~~ 2026-02-15T04:30:17.208560Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-02-15T04:30:17.208561Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-15T04:30:17.208561Z 01O | ^ 2026-02-15T04:30:17.208563Z 01O /builds/Rdatatable/data.table/src/assign.c:936:7: note: expanded from macro 'BODY' 2026-02-15T04:30:17.208564Z 01O 936 | if (slen==1) { \ 2026-02-15T04:30:17.208565Z 01O | ^ 2026-02-15T04:30:17.208568Z 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-02-15T04:30:17.208569Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-15T04:30:17.208570Z 01O | ^ 2026-02-15T04:30:17.208570Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-02-15T04:30:17.208571Z 01O 937 | const STYPE val = sd[soff]; \ 2026-02-15T04:30:17.208571Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.208652Z 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-02-15T04:30:17.208653Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-02-15T04:30:17.208654Z 01O | ^~~~~ 2026-02-15T04:30:17.208654Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-02-15T04:30:17.208655Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-02-15T04:30:17.208655Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.208656Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-02-15T04:30:17.208656Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-02-15T04:30:17.208657Z 01O | ^ 2026-02-15T04:30:17.208657Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-02-15T04:30:17.208658Z 01O 6 | if (chin && chmatchdup) 2026-02-15T04:30:17.208659Z 01O | ^~~~ 2026-02-15T04:30:17.208659Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-02-15T04:30:17.208660Z 01O 6 | if (chin && chmatchdup) 2026-02-15T04:30:17.208660Z 01O | ^ 2026-02-15T04:30:17.208660Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-02-15T04:30:17.208661Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-02-15T04:30:17.208662Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.208662Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-02-15T04:30:17.208663Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-02-15T04:30:17.208668Z 01O | ^ 2026-02-15T04:30:17.208669Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-02-15T04:30:17.208669Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-02-15T04:30:17.208670Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.208670Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-02-15T04:30:17.208671Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-02-15T04:30:17.208671Z 01O | ^ 2026-02-15T04:30:17.208753Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-02-15T04:30:17.208754Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-02-15T04:30:17.208755Z 01O | ^ 2026-02-15T04:30:17.208755Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-02-15T04:30:17.208756Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-02-15T04:30:17.208756Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-02-15T04:30:17.208757Z 01O | ^~~~~~~ 2026-02-15T04:30:17.208758Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-02-15T04:30:17.208758Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-02-15T04:30:17.208759Z 01O | ^ 2026-02-15T04:30:17.208759Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-02-15T04:30:17.208760Z 01O 31 | if (tablelen==0) { 2026-02-15T04:30:17.208760Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.208761Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-02-15T04:30:17.208761Z 01O 31 | if (tablelen==0) { 2026-02-15T04:30:17.208762Z 01O | ^ 2026-02-15T04:30:17.208762Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-02-15T04:30:17.208763Z 01O 40 | if (isSymbol(x)) { 2026-02-15T04:30:17.208763Z 01O | ^ 2026-02-15T04:30:17.208764Z 01O /usr/local/lib/R/include/Rinternals.h:965:19: note: expanded from macro 'isSymbol' 2026-02-15T04:30:17.208764Z 01O 965 | #define isSymbol Rf_isSymbol 2026-02-15T04:30:17.208765Z 01O | ^ 2026-02-15T04:30:17.208765Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-02-15T04:30:17.208766Z 01O 40 | if (isSymbol(x)) { 2026-02-15T04:30:17.208766Z 01O | ^ 2026-02-15T04:30:17.208767Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-02-15T04:30:17.208767Z 01O 46 | if (xlen==1) { 2026-02-15T04:30:17.208768Z 01O | ^~~~~~~ 2026-02-15T04:30:17.208768Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-02-15T04:30:17.208769Z 01O 46 | if (xlen==1) { 2026-02-15T04:30:17.208769Z 01O | ^ 2026-02-15T04:30:17.208827Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-02-15T04:30:17.208828Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.208828Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.208829Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-02-15T04:30:17.208829Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-02-15T04:30:17.208830Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.208831Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.208831Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-02-15T04:30:17.208832Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.208832Z 01O | ^ 2026-02-15T04:30:17.208837Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-02-15T04:30:17.208838Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-02-15T04:30:17.208838Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.208839Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.208840Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-02-15T04:30:17.208840Z 01O | ^ 2026-02-15T04:30:17.208841Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-02-15T04:30:17.208841Z 01O 66 | if (tl == 0) { 2026-02-15T04:30:17.208842Z 01O | ^~~~~~~ 2026-02-15T04:30:17.208842Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-02-15T04:30:17.208843Z 01O 66 | if (tl == 0) { 2026-02-15T04:30:17.208843Z 01O | ^ 2026-02-15T04:30:17.208843Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-02-15T04:30:17.208844Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-02-15T04:30:17.208845Z 01O | ^ 2026-02-15T04:30:17.208845Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.208846Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-02-15T04:30:17.208846Z 01O | ^ 2026-02-15T04:30:17.208847Z 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-02-15T04:30:17.208847Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-02-15T04:30:17.208848Z 01O | ^~~~~ 2026-02-15T04:30:17.208944Z 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-02-15T04:30:17.208945Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-02-15T04:30:17.208946Z 01O | ^~~~~ 2026-02-15T04:30:17.208946Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-02-15T04:30:17.208947Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-02-15T04:30:17.208948Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.208948Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-02-15T04:30:17.208949Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-02-15T04:30:17.208949Z 01O | ^ 2026-02-15T04:30:17.208950Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-02-15T04:30:17.208950Z 01O 6 | if (chin && chmatchdup) 2026-02-15T04:30:17.208951Z 01O | ^~~~ 2026-02-15T04:30:17.208951Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-02-15T04:30:17.208952Z 01O 6 | if (chin && chmatchdup) 2026-02-15T04:30:17.208952Z 01O | ^ 2026-02-15T04:30:17.208953Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-02-15T04:30:17.208953Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-02-15T04:30:17.208954Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.208954Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-02-15T04:30:17.208955Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-02-15T04:30:17.208955Z 01O | ^ 2026-02-15T04:30:17.208959Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-02-15T04:30:17.208960Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-02-15T04:30:17.208960Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.208961Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-02-15T04:30:17.208961Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-02-15T04:30:17.208967Z 01O | ^ 2026-02-15T04:30:17.208999Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-02-15T04:30:17.209000Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-02-15T04:30:17.209001Z 01O | ^ 2026-02-15T04:30:17.209001Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-02-15T04:30:17.209002Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-02-15T04:30:17.209003Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-02-15T04:30:17.209003Z 01O | ^~~~~~~ 2026-02-15T04:30:17.209004Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-02-15T04:30:17.209004Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-02-15T04:30:17.209005Z 01O | ^ 2026-02-15T04:30:17.209005Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-02-15T04:30:17.209006Z 01O 31 | if (tablelen==0) { 2026-02-15T04:30:17.209006Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.209007Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-02-15T04:30:17.209007Z 01O 31 | if (tablelen==0) { 2026-02-15T04:30:17.209008Z 01O | ^ 2026-02-15T04:30:17.209008Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-02-15T04:30:17.209009Z 01O 40 | if (isSymbol(x)) { 2026-02-15T04:30:17.209009Z 01O | ^ 2026-02-15T04:30:17.209010Z 01O /usr/local/lib/R/include/Rinternals.h:965:19: note: expanded from macro 'isSymbol' 2026-02-15T04:30:17.209010Z 01O 965 | #define isSymbol Rf_isSymbol 2026-02-15T04:30:17.209011Z 01O | ^ 2026-02-15T04:30:17.209011Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-02-15T04:30:17.209012Z 01O 40 | if (isSymbol(x)) { 2026-02-15T04:30:17.209012Z 01O | ^ 2026-02-15T04:30:17.209013Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-02-15T04:30:17.209013Z 01O 46 | if (xlen==1) { 2026-02-15T04:30:17.209014Z 01O | ^~~~~~~ 2026-02-15T04:30:17.209014Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-02-15T04:30:17.209015Z 01O 46 | if (xlen==1) { 2026-02-15T04:30:17.209015Z 01O | ^ 2026-02-15T04:30:17.209067Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-02-15T04:30:17.209068Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.209068Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.209069Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-02-15T04:30:17.209069Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.209070Z 01O | ^ 2026-02-15T04:30:17.209073Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-02-15T04:30:17.209073Z 01O 99 | for (int i=0; i= 'tablelen' 2026-02-15T04:30:17.209152Z 01O 123 | for (int i=0; i= 'tablelen' 2026-02-15T04:30:17.209218Z 01O 125 | for (int i=0; i= 0 2026-02-15T04:30:17.209305Z 01O 129 | if (u<0) { 2026-02-15T04:30:17.209305Z 01O | ^~~ 2026-02-15T04:30:17.209306Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-02-15T04:30:17.209306Z 01O 129 | if (u<0) { 2026-02-15T04:30:17.209307Z 01O | ^ 2026-02-15T04:30:17.209315Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-02-15T04:30:17.209316Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-02-15T04:30:17.209540Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.209544Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-02-15T04:30:17.209544Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.209545Z 01O | ^ 2026-02-15T04:30:17.209545Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-02-15T04:30:17.209546Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.209546Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.209547Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-02-15T04:30:17.209548Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.209548Z 01O | ^ 2026-02-15T04:30:17.209548Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-02-15T04:30:17.209549Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-02-15T04:30:17.209919Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.209920Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-02-15T04:30:17.209920Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-02-15T04:30:17.209921Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.209921Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.209922Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-02-15T04:30:17.209922Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-15T04:30:17.209923Z 01O | ^ 2026-02-15T04:30:17.209923Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-02-15T04:30:17.209924Z 01O 99 | for (int i=0; i= 0 2026-02-15T04:30:17.209944Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-02-15T04:30:17.209945Z 01O | ^~~ 2026-02-15T04:30:17.209945Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-02-15T04:30:17.209946Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-02-15T04:30:17.209946Z 01O | ^ 2026-02-15T04:30:17.209947Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-02-15T04:30:17.209947Z 01O 144 | for (int i=0; i= 'nlhs' 2026-02-15T04:30:17.210036Z 01O 14 | for (int i=0; i= 'nlhs' 2026-02-15T04:30:17.210245Z 01O 14 | for (int i=0; i= 'nlhs' 2026-02-15T04:30:17.210409Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-02-15T04:30:17.211764Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.211823Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-02-15T04:30:17.211824Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-02-15T04:30:17.211824Z 01O | ^ 2026-02-15T04:30:17.211825Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.211825Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.211826Z 01O | ^ 2026-02-15T04:30:17.211826Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-02-15T04:30:17.211827Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-02-15T04:30:17.211827Z 01O | ^ 2026-02-15T04:30:17.211828Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.211828Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.211829Z 01O | ^ 2026-02-15T04:30:17.211829Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-02-15T04:30:17.211830Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-02-15T04:30:17.211831Z 01O | ^ 2026-02-15T04:30:17.211831Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.211832Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.211832Z 01O | ^ 2026-02-15T04:30:17.211880Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-02-15T04:30:17.211881Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-02-15T04:30:17.211882Z 01O | ^ 2026-02-15T04:30:17.211882Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-02-15T04:30:17.211883Z 01O 228 | for (int i=0; i= 'ncol' 2026-02-15T04:30:17.211898Z 01O 234 | for (int i=0; i= 'nidx' 2026-02-15T04:30:17.211954Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-02-15T04:30:17.212031Z 01O | ^~~~ 2026-02-15T04:30:17.212032Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-02-15T04:30:17.212032Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-02-15T04:30:17.212033Z 01O | ^ 2026-02-15T04:30:17.212033Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-02-15T04:30:17.212034Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-02-15T04:30:17.212096Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-02-15T04:30:17.213011Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-02-15T04:30:17.213320Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213320Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-02-15T04:30:17.213321Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-02-15T04:30:17.213321Z 01O | ^ 2026-02-15T04:30:17.213322Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-02-15T04:30:17.213322Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-02-15T04:30:17.213323Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213323Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-02-15T04:30:17.213324Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-02-15T04:30:17.213325Z 01O | ^ 2026-02-15T04:30:17.213325Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-02-15T04:30:17.213326Z 01O 326 | if (new_marks != marks) { 2026-02-15T04:30:17.213326Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213327Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-02-15T04:30:17.213327Z 01O 326 | if (new_marks != marks) { 2026-02-15T04:30:17.213328Z 01O | ^ 2026-02-15T04:30:17.213375Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-02-15T04:30:17.213376Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-02-15T04:30:17.213377Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213377Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-02-15T04:30:17.213378Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-02-15T04:30:17.213378Z 01O | ^ 2026-02-15T04:30:17.213379Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-02-15T04:30:17.213379Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-02-15T04:30:17.213380Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.213381Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-02-15T04:30:17.213381Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-02-15T04:30:17.213382Z 01O | ^ 2026-02-15T04:30:17.213450Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-02-15T04:30:17.213451Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-02-15T04:30:17.213457Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.213458Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-02-15T04:30:17.213458Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-02-15T04:30:17.213459Z 01O | ^ 2026-02-15T04:30:17.213460Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-02-15T04:30:17.213460Z 01O 338 | if (!anynotascii) 2026-02-15T04:30:17.213461Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.213461Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-02-15T04:30:17.213462Z 01O 338 | if (!anynotascii) 2026-02-15T04:30:17.213462Z 01O | ^ 2026-02-15T04:30:17.213485Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-02-15T04:30:17.213486Z 01O 340 | if (!IS_UTF8(s)) 2026-02-15T04:30:17.213487Z 01O | ^ 2026-02-15T04:30:17.213487Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-02-15T04:30:17.213488Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-02-15T04:30:17.213488Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213489Z 01O /usr/local/lib/R/include/Rinternals.h:936:20: note: expanded from macro 'getCharCE' 2026-02-15T04:30:17.213489Z 01O 936 | #define getCharCE Rf_getCharCE 2026-02-15T04:30:17.213490Z 01O | ^ 2026-02-15T04:30:17.213490Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-02-15T04:30:17.213491Z 01O 340 | if (!IS_UTF8(s)) 2026-02-15T04:30:17.213491Z 01O | ^ 2026-02-15T04:30:17.213492Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-02-15T04:30:17.213492Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-02-15T04:30:17.213559Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-02-15T04:30:17.213585Z 01O 364 | for (int i=0; i> 2026-02-15T04:30:17.213923Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213924Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-02-15T04:30:17.213924Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213925Z 01O 43 | 2026-02-15T04:30:17.213925Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-02-15T04:30:17.213926Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213926Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-02-15T04:30:17.213927Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213927Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-02-15T04:30:17.213928Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213928Z 01O 47 | 2026-02-15T04:30:17.213929Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-02-15T04:30:17.213929Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213930Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-02-15T04:30:17.213936Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213936Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-02-15T04:30:17.213937Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213937Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-02-15T04:30:17.213938Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213939Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-02-15T04:30:17.213939Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213940Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-02-15T04:30:17.213940Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.213941Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Calling 'freadCleanup' 2026-02-15T04:30:17.213942Z 01O 1406 | if (freadCleanup()) { 2026-02-15T04:30:17.213942Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.213942Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-02-15T04:30:17.213943Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-15T04:30:17.213944Z 01O | ^~~~ 2026-02-15T04:30:17.213944Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-02-15T04:30:17.213945Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-02-15T04:30:17.213945Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-15T04:30:17.213946Z 01O | ^~~~~~~ 2026-02-15T04:30:17.213947Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-02-15T04:30:17.213947Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-15T04:30:17.213948Z 01O | ^ 2026-02-15T04:30:17.213984Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-02-15T04:30:17.213985Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-15T04:30:17.213986Z 01O | ^~~~ 2026-02-15T04:30:17.213998Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-02-15T04:30:17.213999Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-15T04:30:17.214000Z 01O | ^ 2026-02-15T04:30:17.214000Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-02-15T04:30:17.214001Z 01O 169 | if (mmp != NULL) { 2026-02-15T04:30:17.214001Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.214002Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-02-15T04:30:17.214002Z 01O 169 | if (mmp != NULL) { 2026-02-15T04:30:17.214003Z 01O | ^ 2026-02-15T04:30:17.214003Z 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-02-15T04:30:17.214004Z 01O 193 | quoteRule = -1; 2026-02-15T04:30:17.214004Z 01O | ^~ 2026-02-15T04:30:17.214071Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2026-02-15T04:30:17.214072Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-02-15T04:30:17.214072Z 01O | ^ ~~ 2026-02-15T04:30:17.214078Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-02-15T04:30:17.214079Z 01O 1406 | if (freadCleanup()) { 2026-02-15T04:30:17.214080Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.214080Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-02-15T04:30:17.214081Z 01O 1406 | if (freadCleanup()) { 2026-02-15T04:30:17.214081Z 01O | ^ 2026-02-15T04:30:17.214081Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.214082Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-02-15T04:30:17.214083Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214083Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-02-15T04:30:17.214084Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-02-15T04:30:17.214084Z 01O | ^ 2026-02-15T04:30:17.214087Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-02-15T04:30:17.214088Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-02-15T04:30:17.214088Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.214089Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-02-15T04:30:17.214089Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-02-15T04:30:17.214090Z 01O | ^ 2026-02-15T04:30:17.214090Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-02-15T04:30:17.214091Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-02-15T04:30:17.214091Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.214142Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-02-15T04:30:17.214143Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-02-15T04:30:17.214143Z 01O | ^ 2026-02-15T04:30:17.214144Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-02-15T04:30:17.214144Z 01O 1416 | if (nth <= 0) nth = 1; 2026-02-15T04:30:17.214145Z 01O | ^~~ 2026-02-15T04:30:17.214145Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-02-15T04:30:17.214146Z 01O 1416 | if (nth <= 0) nth = 1; 2026-02-15T04:30:17.214146Z 01O | ^ 2026-02-15T04:30:17.214147Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-02-15T04:30:17.214147Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-02-15T04:30:17.214148Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214148Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-02-15T04:30:17.214149Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-02-15T04:30:17.214150Z 01O | ^ 2026-02-15T04:30:17.214154Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-02-15T04:30:17.214154Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-02-15T04:30:17.214155Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214156Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-02-15T04:30:17.214156Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-02-15T04:30:17.214157Z 01O | ^ 2026-02-15T04:30:17.214157Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-02-15T04:30:17.214158Z 01O 1432 | while (*nastr) { 2026-02-15T04:30:17.214158Z 01O | ^ 2026-02-15T04:30:17.214245Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-02-15T04:30:17.214246Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-02-15T04:30:17.214256Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214256Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-02-15T04:30:17.214257Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-02-15T04:30:17.214257Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214258Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-02-15T04:30:17.214258Z 01O 1460 | if (verbose) { 2026-02-15T04:30:17.214259Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214259Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-02-15T04:30:17.214260Z 01O 1460 | if (verbose) { 2026-02-15T04:30:17.214260Z 01O | ^ 2026-02-15T04:30:17.214263Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-02-15T04:30:17.214264Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-02-15T04:30:17.214265Z 01O | ^ 2026-02-15T04:30:17.214267Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-02-15T04:30:17.214268Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-02-15T04:30:17.214269Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214339Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-02-15T04:30:17.214340Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-02-15T04:30:17.214341Z 01O | ^ 2026-02-15T04:30:17.214341Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-02-15T04:30:17.214342Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-02-15T04:30:17.214343Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214343Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-02-15T04:30:17.214344Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-02-15T04:30:17.214344Z 01O | ^ 2026-02-15T04:30:17.214349Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-02-15T04:30:17.214350Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-02-15T04:30:17.214350Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.214351Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-02-15T04:30:17.214351Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-02-15T04:30:17.214352Z 01O | ^ 2026-02-15T04:30:17.214352Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-02-15T04:30:17.214353Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-02-15T04:30:17.214354Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214354Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-02-15T04:30:17.214355Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-02-15T04:30:17.214355Z 01O | ^ 2026-02-15T04:30:17.214356Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-02-15T04:30:17.214356Z 01O 1511 | if (args.input) { 2026-02-15T04:30:17.214357Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.214359Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-02-15T04:30:17.214359Z 01O 1511 | if (args.input) { 2026-02-15T04:30:17.214360Z 01O | ^ 2026-02-15T04:30:17.214412Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is non-null 2026-02-15T04:30:17.214420Z 01O 1518 | else if (args.filename) { 2026-02-15T04:30:17.214420Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.214421Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking true branch 2026-02-15T04:30:17.214421Z 01O 1518 | else if (args.filename) { 2026-02-15T04:30:17.214422Z 01O | ^ 2026-02-15T04:30:17.214422Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:9: note: 'verbose' is false 2026-02-15T04:30:17.214423Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-02-15T04:30:17.214423Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214424Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:5: note: Taking false branch 2026-02-15T04:30:17.214424Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-02-15T04:30:17.214425Z 01O | ^ 2026-02-15T04:30:17.214425Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:16: note: Assuming that 'open' fails 2026-02-15T04:30:17.214426Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-02-15T04:30:17.214426Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214427Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:7: note: 'fd' initialized here 2026-02-15T04:30:17.214427Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-02-15T04:30:17.214428Z 01O | ^~~~~~ 2026-02-15T04:30:17.214428Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:7: note: Taking true branch 2026-02-15T04:30:17.214429Z 01O 1523 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-02-15T04:30:17.214430Z 01O | ^ 2026-02-15T04:30:17.214430Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-02-15T04:30:17.214431Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-02-15T04:30:17.214431Z 01O | ^ ~~ 2026-02-15T04:30:17.214434Z 01O /builds/Rdatatable/data.table/src/fread.c:1769:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.214435Z 01O 1769 | pos = ch; 2026-02-15T04:30:17.214435Z 01O | ^ ~~ 2026-02-15T04:30:17.214436Z 01O /builds/Rdatatable/data.table/src/fread.c:1769:5: note: Value stored to 'pos' is never read 2026-02-15T04:30:17.214436Z 01O 1769 | pos = ch; 2026-02-15T04:30:17.214437Z 01O | ^ ~~ 2026-02-15T04:30:17.214479Z 01O /builds/Rdatatable/data.table/src/fread.c:1837: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-02-15T04:30:17.214480Z 01O 1837 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-02-15T04:30:17.214480Z 01O | ^~ 2026-02-15T04:30:17.214555Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-02-15T04:30:17.214556Z 01O 38 | enum quote_rule_t 2026-02-15T04:30:17.214556Z 01O | ~~~~~^~~~~~~~~~~~ 2026-02-15T04:30:17.214557Z 01O 39 | { 2026-02-15T04:30:17.214557Z 01O | ~ 2026-02-15T04:30:17.214558Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-02-15T04:30:17.214558Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214559Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-02-15T04:30:17.214559Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214560Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-02-15T04:30:17.214561Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214561Z 01O 43 | 2026-02-15T04:30:17.214561Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-02-15T04:30:17.214562Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214568Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-02-15T04:30:17.214568Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214569Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-02-15T04:30:17.214569Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214570Z 01O 47 | 2026-02-15T04:30:17.214570Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-02-15T04:30:17.214571Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214572Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-02-15T04:30:17.214572Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214573Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-02-15T04:30:17.214573Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214574Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-02-15T04:30:17.214575Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214575Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-02-15T04:30:17.214576Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214576Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-02-15T04:30:17.214577Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214577Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-02-15T04:30:17.214578Z 01O 1406 | if (freadCleanup()) { 2026-02-15T04:30:17.214579Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.214579Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-02-15T04:30:17.214580Z 01O 1406 | if (freadCleanup()) { 2026-02-15T04:30:17.214580Z 01O | ^ 2026-02-15T04:30:17.214580Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.214581Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-02-15T04:30:17.214582Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214582Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-02-15T04:30:17.214583Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-02-15T04:30:17.214583Z 01O | ^ 2026-02-15T04:30:17.214618Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-02-15T04:30:17.214618Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-02-15T04:30:17.214619Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.214619Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-02-15T04:30:17.214620Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-02-15T04:30:17.214621Z 01O | ^ 2026-02-15T04:30:17.214621Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-02-15T04:30:17.214622Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-02-15T04:30:17.214622Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.214628Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-02-15T04:30:17.214629Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-02-15T04:30:17.214630Z 01O | ^ 2026-02-15T04:30:17.214630Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-02-15T04:30:17.214630Z 01O 1416 | if (nth <= 0) nth = 1; 2026-02-15T04:30:17.214631Z 01O | ^~~ 2026-02-15T04:30:17.214631Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-02-15T04:30:17.214632Z 01O 1416 | if (nth <= 0) nth = 1; 2026-02-15T04:30:17.214632Z 01O | ^ 2026-02-15T04:30:17.214696Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-02-15T04:30:17.214697Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-02-15T04:30:17.214698Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214698Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-02-15T04:30:17.214699Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-02-15T04:30:17.214700Z 01O | ^ 2026-02-15T04:30:17.214700Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-02-15T04:30:17.214701Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-02-15T04:30:17.214701Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214705Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-02-15T04:30:17.214706Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-02-15T04:30:17.214707Z 01O | ^ 2026-02-15T04:30:17.214707Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-02-15T04:30:17.214708Z 01O 1432 | while (*nastr) { 2026-02-15T04:30:17.214708Z 01O | ^ 2026-02-15T04:30:17.214709Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-02-15T04:30:17.214709Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-02-15T04:30:17.214710Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214755Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-02-15T04:30:17.214756Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-02-15T04:30:17.214756Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214757Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-02-15T04:30:17.214757Z 01O 1460 | if (verbose) { 2026-02-15T04:30:17.214758Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214758Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-02-15T04:30:17.214759Z 01O 1460 | if (verbose) { 2026-02-15T04:30:17.214759Z 01O | ^ 2026-02-15T04:30:17.214760Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-02-15T04:30:17.214760Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-02-15T04:30:17.214761Z 01O | ^ 2026-02-15T04:30:17.214761Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-02-15T04:30:17.214762Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-02-15T04:30:17.214763Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214763Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-02-15T04:30:17.214764Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-02-15T04:30:17.214764Z 01O | ^ 2026-02-15T04:30:17.214765Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-02-15T04:30:17.214765Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-02-15T04:30:17.214766Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.214788Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-02-15T04:30:17.214789Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-02-15T04:30:17.214789Z 01O | ^ 2026-02-15T04:30:17.214842Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-02-15T04:30:17.214843Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-02-15T04:30:17.214843Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.214844Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-02-15T04:30:17.214844Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-02-15T04:30:17.214845Z 01O | ^ 2026-02-15T04:30:17.214845Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-02-15T04:30:17.214846Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-02-15T04:30:17.214847Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214847Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-02-15T04:30:17.214848Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-02-15T04:30:17.214848Z 01O | ^ 2026-02-15T04:30:17.214849Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-02-15T04:30:17.214849Z 01O 1511 | if (args.input) { 2026-02-15T04:30:17.214850Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.214850Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-02-15T04:30:17.214851Z 01O 1511 | if (args.input) { 2026-02-15T04:30:17.214851Z 01O | ^ 2026-02-15T04:30:17.214851Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is null 2026-02-15T04:30:17.214852Z 01O 1518 | else if (args.filename) { 2026-02-15T04:30:17.214853Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.214853Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking false branch 2026-02-15T04:30:17.214854Z 01O 1518 | else if (args.filename) { 2026-02-15T04:30:17.214854Z 01O | ^ 2026-02-15T04:30:17.214900Z 01O /builds/Rdatatable/data.table/src/fread.c:1586:5: note: Loop condition is false. Exiting loop 2026-02-15T04:30:17.214901Z 01O 1586 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-02-15T04:30:17.214902Z 01O | ^ 2026-02-15T04:30:17.214961Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-02-15T04:30:17.214962Z 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-02-15T04:30:17.214963Z 01O | ^ 2026-02-15T04:30:17.214964Z 01O /builds/Rdatatable/data.table/src/fread.c:1603:7: note: 'verbose' is false 2026-02-15T04:30:17.214965Z 01O 1603 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-02-15T04:30:17.214965Z 01O | ^~~~~~~ 2026-02-15T04:30:17.214965Z 01O /builds/Rdatatable/data.table/src/fread.c:1603:3: note: Taking false branch 2026-02-15T04:30:17.214966Z 01O 1603 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-02-15T04:30:17.214967Z 01O | ^ 2026-02-15T04:30:17.215010Z 01O /builds/Rdatatable/data.table/src/fread.c:1604:7: note: Assuming 'fileSize' is < 3 2026-02-15T04:30:17.215011Z 01O 1604 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-02-15T04:30:17.215012Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.215012Z 01O /builds/Rdatatable/data.table/src/fread.c:1604:21: note: Left side of '&&' is false 2026-02-15T04:30:17.215013Z 01O 1604 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-02-15T04:30:17.215013Z 01O | ^ 2026-02-15T04:30:17.215014Z 01O /builds/Rdatatable/data.table/src/fread.c:1609:12: note: 'fileSize' is < 4 2026-02-15T04:30:17.215015Z 01O 1609 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-02-15T04:30:17.215020Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.215023Z 01O /builds/Rdatatable/data.table/src/fread.c:1609:26: note: Left side of '&&' is false 2026-02-15T04:30:17.215023Z 01O 1609 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-02-15T04:30:17.215024Z 01O | ^ 2026-02-15T04:30:17.215084Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:12: note: Assuming 'fileSize' is < 2 2026-02-15T04:30:17.215085Z 01O 1614 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-02-15T04:30:17.215086Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.215086Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:26: note: Left side of '&&' is false 2026-02-15T04:30:17.215087Z 01O 1614 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-02-15T04:30:17.215088Z 01O | ^ 2026-02-15T04:30:17.215088Z 01O /builds/Rdatatable/data.table/src/fread.c:1617:7: note: Assuming 'eof' is <= 'sof' 2026-02-15T04:30:17.215089Z 01O 1617 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-02-15T04:30:17.215089Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.215090Z 01O /builds/Rdatatable/data.table/src/fread.c:1617:17: note: Left side of '&&' is false 2026-02-15T04:30:17.215090Z 01O 1617 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-02-15T04:30:17.215091Z 01O | ^ 2026-02-15T04:30:17.215091Z 01O /builds/Rdatatable/data.table/src/fread.c:1623:7: note: Assuming 'eof' is > 'sof' 2026-02-15T04:30:17.215092Z 01O 1623 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-02-15T04:30:17.215092Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.215093Z 01O /builds/Rdatatable/data.table/src/fread.c:1623:3: note: Taking false branch 2026-02-15T04:30:17.215093Z 01O 1623 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-02-15T04:30:17.215094Z 01O | ^ 2026-02-15T04:30:17.215153Z 01O /builds/Rdatatable/data.table/src/fread.c:1629:7: note: 'verbose' is false 2026-02-15T04:30:17.215154Z 01O 1629 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-02-15T04:30:17.215155Z 01O | ^~~~~~~ 2026-02-15T04:30:17.215155Z 01O /builds/Rdatatable/data.table/src/fread.c:1629:3: note: Taking false branch 2026-02-15T04:30:17.215156Z 01O 1629 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-02-15T04:30:17.215157Z 01O | ^ 2026-02-15T04:30:17.215159Z 01O /builds/Rdatatable/data.table/src/fread.c:1637:7: note: Assuming the condition is false 2026-02-15T04:30:17.215160Z 01O 1637 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-02-15T04:30:17.215161Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215161Z 01O /builds/Rdatatable/data.table/src/fread.c:1637:3: note: Taking false branch 2026-02-15T04:30:17.215162Z 01O 1637 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-02-15T04:30:17.215162Z 01O | ^ 2026-02-15T04:30:17.215168Z 01O /builds/Rdatatable/data.table/src/fread.c:1638:3: note: Loop condition is false. Execution continues on line 1656 2026-02-15T04:30:17.215168Z 01O 1638 | while (ch < sample_end) { 2026-02-15T04:30:17.215169Z 01O | ^ 2026-02-15T04:30:17.215254Z 01O /builds/Rdatatable/data.table/src/fread.c:1657:7: note: 'verbose' is false 2026-02-15T04:30:17.215255Z 01O 1657 | if (verbose) DTPRINT(eol_one_r ? 2026-02-15T04:30:17.215255Z 01O | ^~~~~~~ 2026-02-15T04:30:17.215256Z 01O /builds/Rdatatable/data.table/src/fread.c:1657:3: note: Taking false branch 2026-02-15T04:30:17.215256Z 01O 1657 | if (verbose) DTPRINT(eol_one_r ? 2026-02-15T04:30:17.215257Z 01O | ^ 2026-02-15T04:30:17.215265Z 01O /builds/Rdatatable/data.table/src/fread.c:1663:7: note: Assuming field 'filename' is null 2026-02-15T04:30:17.215266Z 01O 1663 | if (args.filename) { 2026-02-15T04:30:17.215266Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.215267Z 01O /builds/Rdatatable/data.table/src/fread.c:1663:3: note: Taking false branch 2026-02-15T04:30:17.215267Z 01O 1663 | if (args.filename) { 2026-02-15T04:30:17.215268Z 01O | ^ 2026-02-15T04:30:17.215268Z 01O /builds/Rdatatable/data.table/src/fread.c:1737:7: note: 'verbose' is false 2026-02-15T04:30:17.215269Z 01O 1737 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-02-15T04:30:17.215270Z 01O | ^~~~~~~ 2026-02-15T04:30:17.215270Z 01O /builds/Rdatatable/data.table/src/fread.c:1737:3: note: Taking false branch 2026-02-15T04:30:17.215271Z 01O 1737 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-02-15T04:30:17.215271Z 01O | ^ 2026-02-15T04:30:17.215275Z 01O /builds/Rdatatable/data.table/src/fread.c:1741:7: note: Assuming field 'skipString' is null 2026-02-15T04:30:17.215276Z 01O 1741 | if (args.skipString) { 2026-02-15T04:30:17.215276Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215277Z 01O /builds/Rdatatable/data.table/src/fread.c:1741:3: note: Taking false branch 2026-02-15T04:30:17.215278Z 01O 1741 | if (args.skipString) { 2026-02-15T04:30:17.215278Z 01O | ^ 2026-02-15T04:30:17.215323Z 01O /builds/Rdatatable/data.table/src/fread.c:1753:12: note: Assuming field 'skipNrow' is < 0 2026-02-15T04:30:17.215324Z 01O 1753 | else if (args.skipNrow >= 0) { 2026-02-15T04:30:17.215324Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215325Z 01O /builds/Rdatatable/data.table/src/fread.c:1753:8: note: Taking false branch 2026-02-15T04:30:17.215325Z 01O 1753 | else if (args.skipNrow >= 0) { 2026-02-15T04:30:17.215326Z 01O | ^ 2026-02-15T04:30:17.215326Z 01O /builds/Rdatatable/data.table/src/fread.c:1774:10: note: Assuming 'ch' is >= 'eof' 2026-02-15T04:30:17.215327Z 01O 1774 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-02-15T04:30:17.215328Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.215328Z 01O /builds/Rdatatable/data.table/src/fread.c:1774:19: note: Left side of '&&' is false 2026-02-15T04:30:17.215329Z 01O 1774 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-02-15T04:30:17.215329Z 01O | ^ 2026-02-15T04:30:17.215332Z 01O /builds/Rdatatable/data.table/src/fread.c:1777:7: note: Assuming 'ch' is < 'eof' 2026-02-15T04:30:17.215332Z 01O 1777 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-02-15T04:30:17.215333Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.215335Z 01O /builds/Rdatatable/data.table/src/fread.c:1777:3: note: Taking false branch 2026-02-15T04:30:17.215336Z 01O 1777 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-02-15T04:30:17.215337Z 01O | ^ 2026-02-15T04:30:17.215337Z 01O /builds/Rdatatable/data.table/src/fread.c:1778:7: note: 'verbose' is false 2026-02-15T04:30:17.215338Z 01O 1778 | if (verbose) { 2026-02-15T04:30:17.215338Z 01O | ^~~~~~~ 2026-02-15T04:30:17.215339Z 01O /builds/Rdatatable/data.table/src/fread.c:1778:3: note: Taking false branch 2026-02-15T04:30:17.215339Z 01O 1778 | if (verbose) { 2026-02-15T04:30:17.215340Z 01O | ^ 2026-02-15T04:30:17.215421Z 01O /builds/Rdatatable/data.table/src/fread.c:1796:19: note: Assuming 'nrowLimit' is not equal to 0 2026-02-15T04:30:17.215422Z 01O 1796 | 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-02-15T04:30:17.215422Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.215432Z 01O /builds/Rdatatable/data.table/src/fread.c:1796:19: note: '?' condition is false 2026-02-15T04:30:17.215433Z 01O /builds/Rdatatable/data.table/src/fread.c:1797:7: note: Assuming 'fill' is not equal to INT_MAX 2026-02-15T04:30:17.215433Z 01O 1797 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-02-15T04:30:17.215434Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215437Z 01O /builds/Rdatatable/data.table/src/fread.c:1797:3: note: Taking false branch 2026-02-15T04:30:17.215437Z 01O 1797 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-02-15T04:30:17.215438Z 01O | ^ 2026-02-15T04:30:17.215440Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:9: note: 'verbose' is false 2026-02-15T04:30:17.215441Z 01O 1803 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-02-15T04:30:17.215441Z 01O | ^~~~~~~ 2026-02-15T04:30:17.215470Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:5: note: Taking false branch 2026-02-15T04:30:17.215471Z 01O 1803 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-02-15T04:30:17.215472Z 01O | ^ 2026-02-15T04:30:17.215472Z 01O /builds/Rdatatable/data.table/src/fread.c:1805:9: note: Assuming the condition is false 2026-02-15T04:30:17.215473Z 01O 1805 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-02-15T04:30:17.215473Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215478Z 01O /builds/Rdatatable/data.table/src/fread.c:1805:5: note: Taking false branch 2026-02-15T04:30:17.215479Z 01O 1805 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-02-15T04:30:17.215480Z 01O | ^ 2026-02-15T04:30:17.215480Z 01O /builds/Rdatatable/data.table/src/fread.c:1823:20: note: Assuming the condition is false 2026-02-15T04:30:17.215481Z 01O 1823 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-02-15T04:30:17.215481Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.215482Z 01O /builds/Rdatatable/data.table/src/fread.c:1823:20: note: '?' condition is false 2026-02-15T04:30:17.215482Z 01O /builds/Rdatatable/data.table/src/fread.c:1825:11: note: Assuming the condition is true 2026-02-15T04:30:17.215483Z 01O 1825 | if (args.sep == '\0') { 2026-02-15T04:30:17.215484Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215484Z 01O /builds/Rdatatable/data.table/src/fread.c:1825:7: note: Taking true branch 2026-02-15T04:30:17.215485Z 01O 1825 | if (args.sep == '\0') { 2026-02-15T04:30:17.215485Z 01O | ^ 2026-02-15T04:30:17.215544Z 01O /builds/Rdatatable/data.table/src/fread.c:1826:13: note: 'verbose' is false 2026-02-15T04:30:17.215545Z 01O 1826 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-02-15T04:30:17.215546Z 01O | ^~~~~~~ 2026-02-15T04:30:17.215546Z 01O /builds/Rdatatable/data.table/src/fread.c:1826:9: note: Taking false branch 2026-02-15T04:30:17.215547Z 01O 1826 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-02-15T04:30:17.215547Z 01O | ^ 2026-02-15T04:30:17.215628Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-02-15T04:30:17.215629Z 01O 1837 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-02-15T04:30:17.215630Z 01O | ^~ 2026-02-15T04:30:17.215701Z 01O /builds/Rdatatable/data.table/src/fread.c:1874:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.215702Z 01O 1874 | const char *prevLineStart = ch, *lineStart = ch; 2026-02-15T04:30:17.215709Z 01O | ^~~~~~~~~~~~~ ~~ 2026-02-15T04:30:17.215709Z 01O /builds/Rdatatable/data.table/src/fread.c:1874:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-02-15T04:30:17.215710Z 01O 1874 | const char *prevLineStart = ch, *lineStart = ch; 2026-02-15T04:30:17.215711Z 01O | ^~~~~~~~~~~~~ ~~ 2026-02-15T04:30:17.215711Z 01O /builds/Rdatatable/data.table/src/fread.c:2262:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.215712Z 01O 2262 | estnrow = 1; 2026-02-15T04:30:17.215712Z 01O | ^ ~ 2026-02-15T04:30:17.215713Z 01O /builds/Rdatatable/data.table/src/fread.c:2262:3: note: Value stored to 'estnrow' is never read 2026-02-15T04:30:17.215713Z 01O 2262 | estnrow = 1; 2026-02-15T04:30:17.215714Z 01O | ^ ~ 2026-02-15T04:30:17.215714Z 01O /builds/Rdatatable/data.table/src/fread.c:2263:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.215715Z 01O 2263 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-02-15T04:30:17.215716Z 01O | ^ ~ 2026-02-15T04:30:17.215716Z 01O /builds/Rdatatable/data.table/src/fread.c:2263:3: note: Value stored to 'allocnrow' is never read 2026-02-15T04:30:17.215717Z 01O 2263 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-02-15T04:30:17.215718Z 01O | ^ ~ 2026-02-15T04:30:17.215735Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.215736Z 01O 2269 | estnrow = allocnrow = sampleLines; 2026-02-15T04:30:17.215736Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215737Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:5: note: Value stored to 'estnrow' is never read 2026-02-15T04:30:17.215737Z 01O 2269 | estnrow = allocnrow = sampleLines; 2026-02-15T04:30:17.215738Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215739Z 01O /builds/Rdatatable/data.table/src/fread.c:2293:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.215739Z 01O 2293 | estnrow = allocnrow = nrowLimit; 2026-02-15T04:30:17.215740Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215740Z 01O /builds/Rdatatable/data.table/src/fread.c:2293:5: note: Value stored to 'estnrow' is never read 2026-02-15T04:30:17.215741Z 01O 2293 | estnrow = allocnrow = nrowLimit; 2026-02-15T04:30:17.215741Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215742Z 01O /builds/Rdatatable/data.table/src/fread.c:2463:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.215743Z 01O 2463 | nth = imin(nJumps, nth); 2026-02-15T04:30:17.215743Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215744Z 01O /builds/Rdatatable/data.table/src/fread.c:2463:3: note: Value stored to 'nth' is never read 2026-02-15T04:30:17.215744Z 01O 2463 | nth = imin(nJumps, nth); 2026-02-15T04:30:17.215745Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.215745Z 01O /builds/Rdatatable/data.table/src/fread.c:2719: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-02-15T04:30:17.215746Z 01O 2719 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-02-15T04:30:17.215747Z 01O | ^~~~~~ 2026-02-15T04:30:17.215747Z 01O /builds/Rdatatable/data.table/src/fread.c:2719: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-02-15T04:30:17.215753Z 01O 2719 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-02-15T04:30:17.215754Z 01O | ^~~~~~ 2026-02-15T04:30:17.215859Z 01O /builds/Rdatatable/data.table/src/fread.c:2753:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.215860Z 01O 2753 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-02-15T04:30:17.215861Z 01O | ^ ~~~ 2026-02-15T04:30:17.215861Z 01O /builds/Rdatatable/data.table/src/fread.c:2753:73: note: Value stored to 'tLast' is never read 2026-02-15T04:30:17.215862Z 01O 2753 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-02-15T04:30:17.215863Z 01O | ^ ~~~ 2026-02-15T04:30:17.215903Z 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-02-15T04:30:17.215904Z 01O 1362 | next[p] = tail; 2026-02-15T04:30:17.215905Z 01O | ^ 2026-02-15T04:30:17.215905Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.215906Z 01O 1504 | if (verbose) 2026-02-15T04:30:17.215906Z 01O | ^~~~~~~ 2026-02-15T04:30:17.215907Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-02-15T04:30:17.215907Z 01O 1504 | if (verbose) 2026-02-15T04:30:17.215908Z 01O | ^ 2026-02-15T04:30:17.215908Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-02-15T04:30:17.215909Z 01O 1506 | if (k == 0) { 2026-02-15T04:30:17.215909Z 01O | ^~~~~~ 2026-02-15T04:30:17.215909Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-02-15T04:30:17.215910Z 01O 1506 | if (k == 0) { 2026-02-15T04:30:17.215910Z 01O | ^ 2026-02-15T04:30:17.215911Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-02-15T04:30:17.215911Z 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-02-15T04:30:17.215912Z 01O | ^~~~~~ 2026-02-15T04:30:17.215913Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-02-15T04:30:17.215932Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-02-15T04:30:17.215933Z 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-02-15T04:30:17.215933Z 01O | ^~~~~~ 2026-02-15T04:30:17.216006Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-02-15T04:30:17.216007Z 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-02-15T04:30:17.216008Z 01O | ^ 2026-02-15T04:30:17.216008Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-02-15T04:30:17.216009Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.216009Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.216009Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-02-15T04:30:17.216010Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.216011Z 01O | ^ 2026-02-15T04:30:17.216011Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-02-15T04:30:17.216011Z 01O 1565 | if (nx_mod_k) { 2026-02-15T04:30:17.216012Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.216012Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-02-15T04:30:17.216013Z 01O 1565 | if (nx_mod_k) { 2026-02-15T04:30:17.216013Z 01O | ^ 2026-02-15T04:30:17.216019Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-02-15T04:30:17.216020Z 01O 1572 | bool even = !(k % 2); 2026-02-15T04:30:17.216020Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.216083Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-02-15T04:30:17.216084Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-02-15T04:30:17.216084Z 01O | ^~~~ 2026-02-15T04:30:17.216085Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-02-15T04:30:17.216085Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-02-15T04:30:17.216086Z 01O 1577 | if (!o) { // # nocov start 2026-02-15T04:30:17.216086Z 01O | ^~ 2026-02-15T04:30:17.216087Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-02-15T04:30:17.216087Z 01O 1577 | if (!o) { // # nocov start 2026-02-15T04:30:17.216088Z 01O | ^ 2026-02-15T04:30:17.216088Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-02-15T04:30:17.216089Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-15T04:30:17.216089Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.216090Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-02-15T04:30:17.216090Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-15T04:30:17.216091Z 01O | ^ 2026-02-15T04:30:17.216091Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-02-15T04:30:17.216092Z 01O 1586 | if (!m) { // # nocov start 2026-02-15T04:30:17.216092Z 01O | ^~ 2026-02-15T04:30:17.216093Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-02-15T04:30:17.216093Z 01O 1586 | if (!m) { // # nocov start 2026-02-15T04:30:17.216094Z 01O | ^ 2026-02-15T04:30:17.216094Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-02-15T04:30:17.216095Z 01O 1592 | if (!n) { // # nocov start 2026-02-15T04:30:17.216095Z 01O | ^~ 2026-02-15T04:30:17.216096Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-02-15T04:30:17.216096Z 01O 1592 | if (!n) { // # nocov start 2026-02-15T04:30:17.216097Z 01O | ^ 2026-02-15T04:30:17.216097Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-02-15T04:30:17.216098Z 01O 1598 | if (!s) { // # nocov start 2026-02-15T04:30:17.216098Z 01O | ^~ 2026-02-15T04:30:17.216099Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-02-15T04:30:17.216099Z 01O 1598 | if (!s) { // # nocov start 2026-02-15T04:30:17.216100Z 01O | ^ 2026-02-15T04:30:17.216125Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-02-15T04:30:17.216126Z 01O 1604 | if (!prev) { // # nocov start 2026-02-15T04:30:17.216126Z 01O | ^~~~~ 2026-02-15T04:30:17.216127Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-02-15T04:30:17.216127Z 01O 1604 | if (!prev) { // # nocov start 2026-02-15T04:30:17.216128Z 01O | ^ 2026-02-15T04:30:17.216128Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-02-15T04:30:17.216129Z 01O 1610 | if (!next) { // # nocov start 2026-02-15T04:30:17.216129Z 01O | ^~~~~ 2026-02-15T04:30:17.216130Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-02-15T04:30:17.216130Z 01O 1610 | if (!next) { // # nocov start 2026-02-15T04:30:17.216131Z 01O | ^ 2026-02-15T04:30:17.216131Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-02-15T04:30:17.216132Z 01O 1616 | if (verbose) 2026-02-15T04:30:17.216132Z 01O | ^~~~~~~ 2026-02-15T04:30:17.216137Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-02-15T04:30:17.216138Z 01O 1616 | if (verbose) 2026-02-15T04:30:17.216139Z 01O | ^ 2026-02-15T04:30:17.216211Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-02-15T04:30:17.216212Z 01O 1619 | for (int j=0; j= 'k' 2026-02-15T04:30:17.216298Z 01O 1356 | for (int i=0; i=0) { 2026-02-15T04:30:17.216406Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.216407Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-02-15T04:30:17.216407Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.216408Z 01O | ^ 2026-02-15T04:30:17.216408Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-02-15T04:30:17.216409Z 01O 1565 | if (nx_mod_k) { 2026-02-15T04:30:17.216409Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.216409Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-02-15T04:30:17.216410Z 01O 1565 | if (nx_mod_k) { 2026-02-15T04:30:17.216410Z 01O | ^ 2026-02-15T04:30:17.216411Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-02-15T04:30:17.216411Z 01O 1572 | bool even = !(k % 2); 2026-02-15T04:30:17.216412Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.216412Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-02-15T04:30:17.216413Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-02-15T04:30:17.216413Z 01O | ^~~~ 2026-02-15T04:30:17.216414Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-02-15T04:30:17.216414Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-02-15T04:30:17.216415Z 01O 1577 | if (!o) { // # nocov start 2026-02-15T04:30:17.216415Z 01O | ^~ 2026-02-15T04:30:17.216416Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-02-15T04:30:17.216416Z 01O 1577 | if (!o) { // # nocov start 2026-02-15T04:30:17.216417Z 01O | ^ 2026-02-15T04:30:17.216437Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-02-15T04:30:17.216438Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-15T04:30:17.216439Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.216439Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-02-15T04:30:17.216440Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-15T04:30:17.216440Z 01O | ^ 2026-02-15T04:30:17.216494Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-02-15T04:30:17.216494Z 01O 1586 | if (!m) { // # nocov start 2026-02-15T04:30:17.216500Z 01O | ^~ 2026-02-15T04:30:17.216500Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-02-15T04:30:17.216501Z 01O 1586 | if (!m) { // # nocov start 2026-02-15T04:30:17.216502Z 01O | ^ 2026-02-15T04:30:17.216502Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-02-15T04:30:17.216503Z 01O 1592 | if (!n) { // # nocov start 2026-02-15T04:30:17.216503Z 01O | ^~ 2026-02-15T04:30:17.216503Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-02-15T04:30:17.216504Z 01O 1592 | if (!n) { // # nocov start 2026-02-15T04:30:17.216504Z 01O | ^ 2026-02-15T04:30:17.216505Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-02-15T04:30:17.216505Z 01O 1598 | if (!s) { // # nocov start 2026-02-15T04:30:17.216506Z 01O | ^~ 2026-02-15T04:30:17.216506Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-02-15T04:30:17.216507Z 01O 1598 | if (!s) { // # nocov start 2026-02-15T04:30:17.216507Z 01O | ^ 2026-02-15T04:30:17.216508Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-02-15T04:30:17.216508Z 01O 1604 | if (!prev) { // # nocov start 2026-02-15T04:30:17.216509Z 01O | ^~~~~ 2026-02-15T04:30:17.216509Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-02-15T04:30:17.216510Z 01O 1604 | if (!prev) { // # nocov start 2026-02-15T04:30:17.216510Z 01O | ^ 2026-02-15T04:30:17.216577Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-02-15T04:30:17.216578Z 01O 1610 | if (!next) { // # nocov start 2026-02-15T04:30:17.216578Z 01O | ^~~~~ 2026-02-15T04:30:17.216579Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-02-15T04:30:17.216579Z 01O 1610 | if (!next) { // # nocov start 2026-02-15T04:30:17.216580Z 01O | ^ 2026-02-15T04:30:17.216580Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2026-02-15T04:30:17.216581Z 01O 1616 | if (verbose) 2026-02-15T04:30:17.216581Z 01O | ^~~~~~~ 2026-02-15T04:30:17.216582Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2026-02-15T04:30:17.216582Z 01O 1616 | if (verbose) 2026-02-15T04:30:17.216583Z 01O | ^ 2026-02-15T04:30:17.216583Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-02-15T04:30:17.216584Z 01O 1619 | for (int j=0; j= 'b' 2026-02-15T04:30:17.216729Z 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-02-15T04:30:17.216837Z 01O | ^~~ 2026-02-15T04:30:17.216838Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2026-02-15T04:30:17.216838Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.216839Z 01O 1631 | for (int i=0; i= 'm' 2026-02-15T04:30:17.217192Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-02-15T04:30:17.217193Z 01O | ^~~~~ 2026-02-15T04:30:17.217195Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:7: note: Returning from 'small' 2026-02-15T04:30:17.217195Z 01O 1391 | if (SMALL(i)) { 2026-02-15T04:30:17.217196Z 01O | ^ 2026-02-15T04:30:17.217201Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-02-15T04:30:17.217202Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-02-15T04:30:17.217203Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.217208Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:3: note: Taking false branch 2026-02-15T04:30:17.217209Z 01O 1391 | if (SMALL(i)) { 2026-02-15T04:30:17.217209Z 01O | ^ 2026-02-15T04:30:17.217210Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:9: note: Assuming the condition is false 2026-02-15T04:30:17.217210Z 01O 1394 | if (m[0] == i) { 2026-02-15T04:30:17.217211Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.217211Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:5: note: Taking false branch 2026-02-15T04:30:17.217212Z 01O 1394 | if (m[0] == i) { 2026-02-15T04:30:17.217212Z 01O | ^ 2026-02-15T04:30:17.217215Z 01O /builds/Rdatatable/data.table/src/froll.c:1397:5: note: Taking true branch 2026-02-15T04:30:17.217215Z 01O 1397 | if (s[0] > 0) { 2026-02-15T04:30:17.217216Z 01O | ^ 2026-02-15T04:30:17.217231Z 01O /builds/Rdatatable/data.table/src/froll.c:1398:14: note: Access of the heap area at negative byte offset 2026-02-15T04:30:17.217232Z 01O 1398 | m[0] = prev[m[0]]; 2026-02-15T04:30:17.217232Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.217233Z 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-02-15T04:30:17.217233Z 01O 1469 | m[0] = prev[m[0]]; 2026-02-15T04:30:17.217234Z 01O | ^ 2026-02-15T04:30:17.217234Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.217235Z 01O 1504 | if (verbose) 2026-02-15T04:30:17.217235Z 01O | ^~~~~~~ 2026-02-15T04:30:17.217259Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-02-15T04:30:17.217260Z 01O 1504 | if (verbose) 2026-02-15T04:30:17.217261Z 01O | ^ 2026-02-15T04:30:17.217261Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-02-15T04:30:17.217262Z 01O 1506 | if (k == 0) { 2026-02-15T04:30:17.217262Z 01O | ^~~~~~ 2026-02-15T04:30:17.217262Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-02-15T04:30:17.217263Z 01O 1506 | if (k == 0) { 2026-02-15T04:30:17.217264Z 01O | ^ 2026-02-15T04:30:17.217266Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-02-15T04:30:17.217267Z 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-02-15T04:30:17.217267Z 01O | ^~~~~~ 2026-02-15T04:30:17.217268Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-02-15T04:30:17.217284Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-02-15T04:30:17.217285Z 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-02-15T04:30:17.217286Z 01O | ^~~~~~ 2026-02-15T04:30:17.217303Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-02-15T04:30:17.217304Z 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-02-15T04:30:17.217304Z 01O | ^ 2026-02-15T04:30:17.217305Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-02-15T04:30:17.217305Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.217306Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.217306Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-02-15T04:30:17.217307Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.217307Z 01O | ^ 2026-02-15T04:30:17.217308Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-02-15T04:30:17.217308Z 01O 1565 | if (nx_mod_k) { 2026-02-15T04:30:17.217309Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.217318Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-02-15T04:30:17.217319Z 01O 1565 | if (nx_mod_k) { 2026-02-15T04:30:17.217320Z 01O | ^ 2026-02-15T04:30:17.217329Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is true 2026-02-15T04:30:17.217330Z 01O 1572 | bool even = !(k % 2); 2026-02-15T04:30:17.217330Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.217331Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is true 2026-02-15T04:30:17.217331Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-02-15T04:30:17.217332Z 01O | ^~~~ 2026-02-15T04:30:17.217332Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is true 2026-02-15T04:30:17.217353Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-02-15T04:30:17.217354Z 01O 1577 | if (!o) { // # nocov start 2026-02-15T04:30:17.217355Z 01O | ^~ 2026-02-15T04:30:17.217355Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-02-15T04:30:17.217356Z 01O 1577 | if (!o) { // # nocov start 2026-02-15T04:30:17.217356Z 01O | ^ 2026-02-15T04:30:17.217357Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-02-15T04:30:17.217357Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-15T04:30:17.217358Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.217388Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-02-15T04:30:17.217389Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-15T04:30:17.217389Z 01O | ^ 2026-02-15T04:30:17.217390Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-02-15T04:30:17.217390Z 01O 1586 | if (!m) { // # nocov start 2026-02-15T04:30:17.217391Z 01O | ^~ 2026-02-15T04:30:17.217391Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-02-15T04:30:17.217392Z 01O 1586 | if (!m) { // # nocov start 2026-02-15T04:30:17.217392Z 01O | ^ 2026-02-15T04:30:17.217393Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-02-15T04:30:17.217393Z 01O 1592 | if (!n) { // # nocov start 2026-02-15T04:30:17.217394Z 01O | ^~ 2026-02-15T04:30:17.217394Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-02-15T04:30:17.217395Z 01O 1592 | if (!n) { // # nocov start 2026-02-15T04:30:17.217395Z 01O | ^ 2026-02-15T04:30:17.217420Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-02-15T04:30:17.217421Z 01O 1598 | if (!s) { // # nocov start 2026-02-15T04:30:17.217422Z 01O | ^~ 2026-02-15T04:30:17.217422Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-02-15T04:30:17.217423Z 01O 1598 | if (!s) { // # nocov start 2026-02-15T04:30:17.217423Z 01O | ^ 2026-02-15T04:30:17.217449Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-02-15T04:30:17.217450Z 01O 1604 | if (!prev) { // # nocov start 2026-02-15T04:30:17.217451Z 01O | ^~~~~ 2026-02-15T04:30:17.217451Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-02-15T04:30:17.217452Z 01O 1604 | if (!prev) { // # nocov start 2026-02-15T04:30:17.217452Z 01O | ^ 2026-02-15T04:30:17.217453Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-02-15T04:30:17.217453Z 01O 1610 | if (!next) { // # nocov start 2026-02-15T04:30:17.217454Z 01O | ^~~~~ 2026-02-15T04:30:17.217454Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-02-15T04:30:17.217455Z 01O 1610 | if (!next) { // # nocov start 2026-02-15T04:30:17.217455Z 01O | ^ 2026-02-15T04:30:17.217461Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-02-15T04:30:17.217462Z 01O 1616 | if (verbose) 2026-02-15T04:30:17.217462Z 01O | ^~~~~~~ 2026-02-15T04:30:17.217463Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-02-15T04:30:17.217463Z 01O 1616 | if (verbose) 2026-02-15T04:30:17.217464Z 01O | ^ 2026-02-15T04:30:17.217523Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-02-15T04:30:17.217524Z 01O 1619 | for (int j=0; j= 'b' 2026-02-15T04:30:17.217669Z 01O 1619 | for (int j=0; j= 'm' 2026-02-15T04:30:17.218025Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-02-15T04:30:17.218026Z 01O | ^~~~~ 2026-02-15T04:30:17.218033Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:7: note: Returning from 'small' 2026-02-15T04:30:17.218034Z 01O 1458 | if (SMALL(i)) { 2026-02-15T04:30:17.218034Z 01O | ^ 2026-02-15T04:30:17.218035Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-02-15T04:30:17.218035Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-02-15T04:30:17.218036Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.218036Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking false branch 2026-02-15T04:30:17.218037Z 01O 1458 | if (SMALL(i)) { 2026-02-15T04:30:17.218037Z 01O | ^ 2026-02-15T04:30:17.218040Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:9: note: Assuming the condition is false 2026-02-15T04:30:17.218040Z 01O 1461 | if (m[0] == i) { 2026-02-15T04:30:17.218041Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.218041Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:5: note: Taking false branch 2026-02-15T04:30:17.218042Z 01O 1461 | if (m[0] == i) { 2026-02-15T04:30:17.218042Z 01O | ^ 2026-02-15T04:30:17.218082Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: 'even' is true 2026-02-15T04:30:17.218082Z 01O 1465 | } else if (even && n[0] == i) { 2026-02-15T04:30:17.218083Z 01O | ^~~~ 2026-02-15T04:30:17.218083Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: Left side of '&&' is true 2026-02-15T04:30:17.218084Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:24: note: Assuming the condition is false 2026-02-15T04:30:17.218085Z 01O 1465 | } else if (even && n[0] == i) { 2026-02-15T04:30:17.218085Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.218086Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:12: note: Taking false branch 2026-02-15T04:30:17.218086Z 01O 1465 | } else if (even && n[0] == i) { 2026-02-15T04:30:17.218087Z 01O | ^ 2026-02-15T04:30:17.218087Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:9: note: Assuming the condition is true 2026-02-15T04:30:17.218088Z 01O 1468 | if (s[0] > 0) { 2026-02-15T04:30:17.218088Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.218089Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:5: note: Taking true branch 2026-02-15T04:30:17.218089Z 01O 1468 | if (s[0] > 0) { 2026-02-15T04:30:17.218090Z 01O | ^ 2026-02-15T04:30:17.218090Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: note: Access of the heap area at negative byte offset 2026-02-15T04:30:17.218091Z 01O 1469 | m[0] = prev[m[0]]; 2026-02-15T04:30:17.218091Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.218146Z 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-02-15T04:30:17.218147Z 01O 1576 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-02-15T04:30:17.218148Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.218149Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.218149Z 01O 1504 | if (verbose) 2026-02-15T04:30:17.218150Z 01O | ^~~~~~~ 2026-02-15T04:30:17.218150Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-02-15T04:30:17.218156Z 01O 1504 | if (verbose) 2026-02-15T04:30:17.218156Z 01O | ^ 2026-02-15T04:30:17.218157Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-02-15T04:30:17.218157Z 01O 1506 | if (k == 0) { 2026-02-15T04:30:17.218158Z 01O | ^~~~~~ 2026-02-15T04:30:17.218158Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-02-15T04:30:17.218159Z 01O 1506 | if (k == 0) { 2026-02-15T04:30:17.218159Z 01O | ^ 2026-02-15T04:30:17.218162Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-02-15T04:30:17.218162Z 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-02-15T04:30:17.218163Z 01O | ^~~~~~ 2026-02-15T04:30:17.218164Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-02-15T04:30:17.218242Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-02-15T04:30:17.218244Z 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-02-15T04:30:17.218245Z 01O | ^~~~~~ 2026-02-15T04:30:17.218249Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-02-15T04:30:17.218250Z 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-02-15T04:30:17.218251Z 01O | ^ 2026-02-15T04:30:17.218251Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is >= 0 2026-02-15T04:30:17.218252Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.218252Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.218253Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-02-15T04:30:17.218253Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.218254Z 01O | ^ 2026-02-15T04:30:17.218260Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is >= 'nx' 2026-02-15T04:30:17.218261Z 01O 1547 | for (uint64_t i=0; i= 0 2026-02-15T04:30:17.218381Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.218382Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.218455Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-02-15T04:30:17.218456Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.218457Z 01O | ^ 2026-02-15T04:30:17.218457Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-02-15T04:30:17.218458Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-02-15T04:30:17.218628Z 01O 1547 | for (uint64_t i=0; i= 0 2026-02-15T04:30:17.219071Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.219071Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.219074Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-02-15T04:30:17.219074Z 01O 1546 | if (hasnf>=0) { 2026-02-15T04:30:17.219075Z 01O | ^ 2026-02-15T04:30:17.219077Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-02-15T04:30:17.219078Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-02-15T04:30:17.219105Z 01O 1547 | for (uint64_t i=0; i 0 2026-02-15T04:30:17.219744Z 01O 533 | bool truehasnf = hasnf>0; 2026-02-15T04:30:17.219745Z 01O | ^~~~~~~ 2026-02-15T04:30:17.219745Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:534:24: note: 'i' is < 'nx' 2026-02-15T04:30:17.219746Z 01O 534 | for (uint64_t i=0; i= 'nx' 2026-02-15T04:30:17.219800Z 01O 534 | for (uint64_t i=0; i 0 2026-02-15T04:30:17.220172Z 01O 608 | bool truehasnf = hasnf>0; 2026-02-15T04:30:17.220172Z 01O | ^~~~~~~ 2026-02-15T04:30:17.220176Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:609:24: note: 'i' is < 'nx' 2026-02-15T04:30:17.220177Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-02-15T04:30:17.220303Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-02-15T04:30:17.220465Z 01O 931 | for (uint64_t i=1; i=0; i--) { 2026-02-15T04:30:17.220748Z 01O | ^ 2026-02-15T04:30:17.220748Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:11: note: Assuming the condition is false 2026-02-15T04:30:17.220749Z 01O 880 | if (i+1 == ik) { 2026-02-15T04:30:17.220749Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.220750Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:7: note: Taking false branch 2026-02-15T04:30:17.220751Z 01O 880 | if (i+1 == ik) { 2026-02-15T04:30:17.220752Z 01O | ^ 2026-02-15T04:30:17.220759Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:18: note: Assuming the condition is false 2026-02-15T04:30:17.220760Z 01O 882 | } else if (i+1 < ik) { 2026-02-15T04:30:17.220761Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.220761Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:14: note: Taking false branch 2026-02-15T04:30:17.220762Z 01O 882 | } else if (i+1 < ik) { 2026-02-15T04:30:17.220762Z 01O | ^ 2026-02-15T04:30:17.220782Z 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-02-15T04:30:17.220783Z 01O 885 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-02-15T04:30:17.220783Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.220784Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:878:5: note: Loop condition is false. Execution continues on line 889 2026-02-15T04:30:17.220785Z 01O 878 | for (int64_t i=nx-1; i>=0; i--) { 2026-02-15T04:30:17.220785Z 01O | ^ 2026-02-15T04:30:17.220826Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:989:14: note: Returning from 'frolladaptiveNAFast' 2026-02-15T04:30:17.220832Z 01O 989 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-02-15T04:30:17.220833Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.220834Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:10: note: 'nc' is 1 2026-02-15T04:30:17.220834Z 01O 990 | if (!nc) { // total NA for x 2026-02-15T04:30:17.220835Z 01O | ^~ 2026-02-15T04:30:17.220835Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:5: note: Taking false branch 2026-02-15T04:30:17.220836Z 01O 990 | if (!nc) { // total NA for x 2026-02-15T04:30:17.220836Z 01O | ^ 2026-02-15T04:30:17.220837Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.220837Z 01O 998 | for (uint64_t i=0; i= 'ngrp' 2026-02-15T04:30:17.221346Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-02-15T04:30:17.221466Z 01O | ^~~~~~~ 2026-02-15T04:30:17.221472Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-02-15T04:30:17.221473Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-02-15T04:30:17.221473Z 01O | ^ 2026-02-15T04:30:17.221526Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-02-15T04:30:17.221527Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-02-15T04:30:17.221527Z 01O | ^ 2026-02-15T04:30:17.221531Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-02-15T04:30:17.221531Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-15T04:30:17.221532Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.221532Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-02-15T04:30:17.221533Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-02-15T04:30:17.221533Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-15T04:30:17.221534Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.221534Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-02-15T04:30:17.221535Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-15T04:30:17.221536Z 01O | ^ 2026-02-15T04:30:17.221538Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-02-15T04:30:17.221539Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-15T04:30:17.221540Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.221540Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-02-15T04:30:17.221541Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-15T04:30:17.221541Z 01O | ^ 2026-02-15T04:30:17.221597Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-02-15T04:30:17.221597Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-02-15T04:30:17.221636Z 01O | ^~~~~~~ 2026-02-15T04:30:17.221697Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-02-15T04:30:17.221698Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-02-15T04:30:17.221698Z 01O | ^ 2026-02-15T04:30:17.221699Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-02-15T04:30:17.221699Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-02-15T04:30:17.221700Z 01O | ^ 2026-02-15T04:30:17.221700Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-02-15T04:30:17.221701Z 01O 122 | if (!counts || !TMP ) { 2026-02-15T04:30:17.221701Z 01O | ^~~~~~~ 2026-02-15T04:30:17.221702Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-02-15T04:30:17.221702Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-02-15T04:30:17.221703Z 01O 122 | if (!counts || !TMP ) { 2026-02-15T04:30:17.221703Z 01O | ^~~~ 2026-02-15T04:30:17.221704Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-02-15T04:30:17.221704Z 01O 122 | if (!counts || !TMP ) { 2026-02-15T04:30:17.221705Z 01O | ^ 2026-02-15T04:30:17.221705Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-02-15T04:30:17.221706Z 01O 127 | for (int b=0; b= 'howMany' 2026-02-15T04:30:17.221805Z 01O 131 | for (int i=0; i= 'highSize' 2026-02-15T04:30:17.221811Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-02-15T04:30:17.222076Z 01O | ^ 2026-02-15T04:30:17.222077Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-02-15T04:30:17.222077Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-02-15T04:30:17.222078Z 01O | ^ ~ 2026-02-15T04:30:17.222127Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-02-15T04:30:17.222128Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-02-15T04:30:17.222128Z 01O | ^ ~ 2026-02-15T04:30:17.222129Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-15T04:30:17.222129Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222130Z 01O | ^ 2026-02-15T04:30:17.222130Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222131Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222131Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.222132Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-02-15T04:30:17.222133Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222133Z 01O | ^ 2026-02-15T04:30:17.222166Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222167Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222167Z 01O | ^ 2026-02-15T04:30:17.222168Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-15T04:30:17.222168Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222169Z 01O | ^ 2026-02-15T04:30:17.222198Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222199Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222200Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.222205Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-02-15T04:30:17.222206Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222207Z 01O | ^ 2026-02-15T04:30:17.222207Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222208Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222208Z 01O | ^ 2026-02-15T04:30:17.222286Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-15T04:30:17.222287Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222288Z 01O | ^ 2026-02-15T04:30:17.222288Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222289Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222290Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.222290Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-02-15T04:30:17.222291Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222291Z 01O | ^ 2026-02-15T04:30:17.222292Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-02-15T04:30:17.222292Z 01O 1120 | if (!isVectorAtomic(x)) 2026-02-15T04:30:17.222293Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.222293Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-02-15T04:30:17.222294Z 01O 1120 | if (!isVectorAtomic(x)) 2026-02-15T04:30:17.222295Z 01O | ^ 2026-02-15T04:30:17.222295Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-02-15T04:30:17.222296Z 01O 1122 | if (inherits(x, "factor")) 2026-02-15T04:30:17.222296Z 01O | ^ 2026-02-15T04:30:17.222296Z 01O /usr/local/lib/R/include/Rinternals.h:944:19: note: expanded from macro 'inherits' 2026-02-15T04:30:17.222297Z 01O 944 | #define inherits Rf_inherits 2026-02-15T04:30:17.222298Z 01O | ^ 2026-02-15T04:30:17.222298Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-02-15T04:30:17.222299Z 01O 1122 | if (inherits(x, "factor")) 2026-02-15T04:30:17.222299Z 01O | ^ 2026-02-15T04:30:17.222367Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-02-15T04:30:17.222368Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-02-15T04:30:17.222368Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.222369Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-02-15T04:30:17.222370Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-02-15T04:30:17.222370Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.222371Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-02-15T04:30:17.222374Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-02-15T04:30:17.222374Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-02-15T04:30:17.222375Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.222379Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-02-15T04:30:17.222380Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-02-15T04:30:17.222381Z 01O | ^ 2026-02-15T04:30:17.222381Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-02-15T04:30:17.222382Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-02-15T04:30:17.222405Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.222406Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-02-15T04:30:17.222407Z 01O 1129 | if (!s) 2026-02-15T04:30:17.222407Z 01O | ^~ 2026-02-15T04:30:17.222408Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-02-15T04:30:17.222408Z 01O 1129 | if (!s) 2026-02-15T04:30:17.222409Z 01O | ^ 2026-02-15T04:30:17.222421Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-02-15T04:30:17.222422Z 01O 1131 | for (int i=0; i= 'n' 2026-02-15T04:30:17.222427Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-02-15T04:30:17.222489Z 01O | ^ 2026-02-15T04:30:17.222489Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-02-15T04:30:17.222490Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-02-15T04:30:17.222490Z 01O | ^ ~ 2026-02-15T04:30:17.222492Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-02-15T04:30:17.222493Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-02-15T04:30:17.222493Z 01O | ^ ~ 2026-02-15T04:30:17.222553Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-02-15T04:30:17.222554Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-02-15T04:30:17.222555Z 01O | ~~~~ ^ 2026-02-15T04:30:17.222555Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-15T04:30:17.222556Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222557Z 01O | ^ 2026-02-15T04:30:17.222557Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222558Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222558Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.222559Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-02-15T04:30:17.222559Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222560Z 01O | ^ 2026-02-15T04:30:17.222560Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222561Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222562Z 01O | ^ 2026-02-15T04:30:17.222650Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-15T04:30:17.222651Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222651Z 01O | ^ 2026-02-15T04:30:17.222652Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222653Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222653Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.222654Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-02-15T04:30:17.222654Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222655Z 01O | ^ 2026-02-15T04:30:17.222656Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222657Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222658Z 01O | ^ 2026-02-15T04:30:17.222669Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-15T04:30:17.222670Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222670Z 01O | ^ 2026-02-15T04:30:17.222671Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.222671Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.222672Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.222672Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-02-15T04:30:17.222673Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-15T04:30:17.222674Z 01O | ^ 2026-02-15T04:30:17.222674Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-02-15T04:30:17.222675Z 01O 1120 | if (!isVectorAtomic(x)) 2026-02-15T04:30:17.222675Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.222676Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-02-15T04:30:17.222676Z 01O 1120 | if (!isVectorAtomic(x)) 2026-02-15T04:30:17.222677Z 01O | ^ 2026-02-15T04:30:17.222677Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-02-15T04:30:17.222683Z 01O 1122 | if (inherits(x, "factor")) 2026-02-15T04:30:17.222683Z 01O | ^ 2026-02-15T04:30:17.222727Z 01O /usr/local/lib/R/include/Rinternals.h:944:19: note: expanded from macro 'inherits' 2026-02-15T04:30:17.222728Z 01O 944 | #define inherits Rf_inherits 2026-02-15T04:30:17.222728Z 01O | ^ 2026-02-15T04:30:17.222729Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-02-15T04:30:17.222729Z 01O 1122 | if (inherits(x, "factor")) 2026-02-15T04:30:17.222730Z 01O | ^ 2026-02-15T04:30:17.222732Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-02-15T04:30:17.222733Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-02-15T04:30:17.222733Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.222763Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-02-15T04:30:17.222764Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-02-15T04:30:17.222765Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.222765Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-02-15T04:30:17.222766Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-02-15T04:30:17.222766Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-02-15T04:30:17.222767Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.222767Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-02-15T04:30:17.222768Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-02-15T04:30:17.222769Z 01O | ^ 2026-02-15T04:30:17.222769Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-02-15T04:30:17.222770Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-02-15T04:30:17.222770Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.222771Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-02-15T04:30:17.222771Z 01O 1129 | if (!s) 2026-02-15T04:30:17.222772Z 01O | ^~ 2026-02-15T04:30:17.222772Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-02-15T04:30:17.222773Z 01O 1129 | if (!s) 2026-02-15T04:30:17.222773Z 01O | ^ 2026-02-15T04:30:17.222774Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-02-15T04:30:17.222774Z 01O 1131 | for (int i=0; i= 'n' 2026-02-15T04:30:17.222802Z 01O 1135 | for (int i=0; i' is a garbage value 2026-02-15T04:30:17.222949Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-02-15T04:30:17.222950Z 01O | ~~~~ ^ 2026-02-15T04:30:17.222953Z 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-02-15T04:30:17.222954Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-02-15T04:30:17.222955Z 01O | ^ 2026-02-15T04:30:17.222955Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-02-15T04:30:17.222956Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-02-15T04:30:17.222956Z 01O | ^ 2026-02-15T04:30:17.222957Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-02-15T04:30:17.222957Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-02-15T04:30:17.222958Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.223043Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-02-15T04:30:17.223044Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-02-15T04:30:17.223045Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223045Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-02-15T04:30:17.223046Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-02-15T04:30:17.223046Z 01O | ^ 2026-02-15T04:30:17.223047Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-02-15T04:30:17.223047Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-02-15T04:30:17.223048Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223048Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-02-15T04:30:17.223049Z 01O 54 | if (!ret) 2026-02-15T04:30:17.223049Z 01O | ^~~~ 2026-02-15T04:30:17.223050Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-02-15T04:30:17.223050Z 01O 54 | if (!ret) 2026-02-15T04:30:17.223051Z 01O | ^ 2026-02-15T04:30:17.223054Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-02-15T04:30:17.223054Z 01O 59 | if (!table) { 2026-02-15T04:30:17.223055Z 01O | ^~~~~~ 2026-02-15T04:30:17.223055Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-02-15T04:30:17.223056Z 01O 59 | if (!table) { 2026-02-15T04:30:17.223056Z 01O | ^ 2026-02-15T04:30:17.223057Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-02-15T04:30:17.223063Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-02-15T04:30:17.223064Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223068Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-02-15T04:30:17.223069Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-02-15T04:30:17.223069Z 01O | ^ 2026-02-15T04:30:17.223070Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-02-15T04:30:17.223071Z 01O 71 | ret->shift = HASH_BITS - k; 2026-02-15T04:30:17.223071Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223071Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-02-15T04:30:17.223072Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-02-15T04:30:17.223073Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223073Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-02-15T04:30:17.223074Z 01O 133 | if (!new_h) return NULL; 2026-02-15T04:30:17.223074Z 01O | ^~~~~ 2026-02-15T04:30:17.223075Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-02-15T04:30:17.223075Z 01O 133 | if (!new_h) return NULL; 2026-02-15T04:30:17.223076Z 01O | ^ 2026-02-15T04:30:17.223076Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-02-15T04:30:17.223077Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-02-15T04:30:17.223077Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.223195Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.223196Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-02-15T04:30:17.223197Z 01O | ^ 2026-02-15T04:30:17.223197Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-02-15T04:30:17.223198Z 01O 138 | if (h->table[i].key) 2026-02-15T04:30:17.223198Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223199Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-02-15T04:30:17.223199Z 01O 138 | if (h->table[i].key) 2026-02-15T04:30:17.223200Z 01O | ^ 2026-02-15T04:30:17.223203Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-02-15T04:30:17.223203Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-02-15T04:30:17.223204Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223204Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-02-15T04:30:17.223205Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-02-15T04:30:17.223206Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.223210Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-02-15T04:30:17.223210Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-02-15T04:30:17.223211Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223211Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-02-15T04:30:17.223212Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-02-15T04:30:17.223213Z 01O | ^ 2026-02-15T04:30:17.223213Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-02-15T04:30:17.223214Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-02-15T04:30:17.223214Z 01O | ^ 2026-02-15T04:30:17.223217Z 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-02-15T04:30:17.223231Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-02-15T04:30:17.223232Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-02-15T04:30:17.223282Z 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-02-15T04:30:17.223284Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-02-15T04:30:17.223284Z 01O | ^ 2026-02-15T04:30:17.223285Z 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-02-15T04:30:17.223335Z 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-02-15T04:30:17.223337Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-02-15T04:30:17.223337Z 01O | ^ 2026-02-15T04:30:17.223338Z 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-02-15T04:30:17.223339Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-15T04:30:17.223339Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-02-15T04:30:17.223340Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223340Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-02-15T04:30:17.223341Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-02-15T04:30:17.223342Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223433Z 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-02-15T04:30:17.223434Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-02-15T04:30:17.223435Z 01O | ^ 2026-02-15T04:30:17.223435Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.223436Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.223437Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.223437Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.223438Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.223438Z 01O | ^ 2026-02-15T04:30:17.223438Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.223439Z 01O 128 | if (verbose) 2026-02-15T04:30:17.223439Z 01O | ^~~~~~~ 2026-02-15T04:30:17.223440Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.223440Z 01O 128 | if (verbose) 2026-02-15T04:30:17.223441Z 01O | ^ 2026-02-15T04:30:17.223497Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.223497Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.223498Z 01O | ^ 2026-02-15T04:30:17.223498Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.223499Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.223500Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223510Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.223511Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.223511Z 01O | ^ 2026-02-15T04:30:17.223593Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.223594Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.223595Z 01O | ^ 2026-02-15T04:30:17.223595Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.223596Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.223596Z 01O | ^ 2026-02-15T04:30:17.223597Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.223597Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.223598Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.223598Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.223599Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.223600Z 01O | ^ 2026-02-15T04:30:17.223600Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.223601Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.223601Z 01O | ^ 2026-02-15T04:30:17.223602Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.223602Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.223603Z 01O | ^ 2026-02-15T04:30:17.223663Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.223664Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.223665Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.223666Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.223666Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.223667Z 01O | ^ 2026-02-15T04:30:17.223675Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.223676Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.223676Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.223676Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.223677Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.223677Z 01O | ^ 2026-02-15T04:30:17.223678Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.223679Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.223784Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-02-15T04:30:17.224082Z 01O | ^ 2026-02-15T04:30:17.224094Z 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-02-15T04:30:17.224095Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-02-15T04:30:17.224095Z 01O | ^ 2026-02-15T04:30:17.224096Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.224096Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.224097Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.224097Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.224098Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.224098Z 01O | ^ 2026-02-15T04:30:17.224099Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.224099Z 01O 128 | if (verbose) 2026-02-15T04:30:17.224100Z 01O | ^~~~~~~ 2026-02-15T04:30:17.224100Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.224101Z 01O 128 | if (verbose) 2026-02-15T04:30:17.224101Z 01O | ^ 2026-02-15T04:30:17.224155Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.224156Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224156Z 01O | ^ 2026-02-15T04:30:17.224157Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224158Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224159Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.224160Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.224161Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224162Z 01O | ^ 2026-02-15T04:30:17.224172Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224173Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224179Z 01O | ^ 2026-02-15T04:30:17.224179Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.224180Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224180Z 01O | ^ 2026-02-15T04:30:17.224181Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224182Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224182Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.224183Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.224183Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224184Z 01O | ^ 2026-02-15T04:30:17.224251Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224252Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224253Z 01O | ^ 2026-02-15T04:30:17.224283Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.224284Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224284Z 01O | ^ 2026-02-15T04:30:17.224285Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224285Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224286Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.224287Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.224287Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224288Z 01O | ^ 2026-02-15T04:30:17.224288Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.224289Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.224289Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.224290Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.224290Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.224291Z 01O | ^ 2026-02-15T04:30:17.224291Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.224292Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.224404Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-02-15T04:30:17.224703Z 01O | ^ 2026-02-15T04:30:17.224704Z 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-02-15T04:30:17.224705Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-02-15T04:30:17.224705Z 01O | ^ 2026-02-15T04:30:17.224764Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.224764Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.224765Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.224765Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.224766Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.224766Z 01O | ^ 2026-02-15T04:30:17.224767Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.224767Z 01O 128 | if (verbose) 2026-02-15T04:30:17.224768Z 01O | ^~~~~~~ 2026-02-15T04:30:17.224768Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.224769Z 01O 128 | if (verbose) 2026-02-15T04:30:17.224769Z 01O | ^ 2026-02-15T04:30:17.224774Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.224775Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224776Z 01O | ^ 2026-02-15T04:30:17.224776Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224777Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224777Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.224778Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.224778Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224779Z 01O | ^ 2026-02-15T04:30:17.224841Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224841Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224842Z 01O | ^ 2026-02-15T04:30:17.224843Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.224843Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224844Z 01O | ^ 2026-02-15T04:30:17.224850Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224852Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224853Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.224854Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.224855Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224856Z 01O | ^ 2026-02-15T04:30:17.224860Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224860Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224861Z 01O | ^ 2026-02-15T04:30:17.224863Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.224864Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224865Z 01O | ^ 2026-02-15T04:30:17.224872Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.224873Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.224874Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.224874Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.224875Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.224876Z 01O | ^ 2026-02-15T04:30:17.224876Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.224877Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.224877Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.224879Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.224880Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.224880Z 01O | ^ 2026-02-15T04:30:17.224905Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.224906Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.224994Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-02-15T04:30:17.225339Z 01O | ^ 2026-02-15T04:30:17.225576Z 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-02-15T04:30:17.225578Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-02-15T04:30:17.225578Z 01O | ^ 2026-02-15T04:30:17.225579Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.225580Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.225580Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.225580Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.225581Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.225581Z 01O | ^ 2026-02-15T04:30:17.225582Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.225582Z 01O 128 | if (verbose) 2026-02-15T04:30:17.225583Z 01O | ^~~~~~~ 2026-02-15T04:30:17.225583Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.225584Z 01O 128 | if (verbose) 2026-02-15T04:30:17.225584Z 01O | ^ 2026-02-15T04:30:17.225585Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.225585Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.225586Z 01O | ^ 2026-02-15T04:30:17.225586Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.225587Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.225588Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.225588Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.225589Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.225589Z 01O | ^ 2026-02-15T04:30:17.225590Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.225590Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.225591Z 01O | ^ 2026-02-15T04:30:17.225591Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.225592Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.225598Z 01O | ^ 2026-02-15T04:30:17.225598Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.225599Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.225600Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.225600Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.225601Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.225601Z 01O | ^ 2026-02-15T04:30:17.225602Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.225602Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.225603Z 01O | ^ 2026-02-15T04:30:17.225603Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.225604Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.225605Z 01O | ^ 2026-02-15T04:30:17.225605Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.225606Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.225606Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.225607Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.225607Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.225608Z 01O | ^ 2026-02-15T04:30:17.225608Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.225609Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.225609Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.225610Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.225610Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.225611Z 01O | ^ 2026-02-15T04:30:17.225611Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.225612Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.225706Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-02-15T04:30:17.225975Z 01O | ^ 2026-02-15T04:30:17.225975Z 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-02-15T04:30:17.225976Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-02-15T04:30:17.225977Z 01O | ^ 2026-02-15T04:30:17.225977Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.225978Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.225978Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.225979Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.225979Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.225980Z 01O | ^ 2026-02-15T04:30:17.225980Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.225981Z 01O 128 | if (verbose) 2026-02-15T04:30:17.225981Z 01O | ^~~~~~~ 2026-02-15T04:30:17.225982Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.225982Z 01O 128 | if (verbose) 2026-02-15T04:30:17.225983Z 01O | ^ 2026-02-15T04:30:17.226072Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.226073Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226074Z 01O | ^ 2026-02-15T04:30:17.226074Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226075Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226075Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.226076Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.226076Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226077Z 01O | ^ 2026-02-15T04:30:17.226077Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226078Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226079Z 01O | ^ 2026-02-15T04:30:17.226082Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.226088Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226089Z 01O | ^ 2026-02-15T04:30:17.226089Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226090Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226090Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.226094Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.226095Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226095Z 01O | ^ 2026-02-15T04:30:17.226137Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226138Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226138Z 01O | ^ 2026-02-15T04:30:17.226139Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.226140Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226140Z 01O | ^ 2026-02-15T04:30:17.226145Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226146Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226147Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.226147Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.226148Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226148Z 01O | ^ 2026-02-15T04:30:17.226149Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.226149Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.226150Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.226150Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.226151Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.226151Z 01O | ^ 2026-02-15T04:30:17.226152Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.226152Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.226290Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-02-15T04:30:17.226687Z 01O | ^ 2026-02-15T04:30:17.226687Z 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-02-15T04:30:17.226688Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-02-15T04:30:17.226689Z 01O | ^ 2026-02-15T04:30:17.226690Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.226691Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.226691Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.226692Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.226693Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.226694Z 01O | ^ 2026-02-15T04:30:17.226695Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.226696Z 01O 128 | if (verbose) 2026-02-15T04:30:17.226696Z 01O | ^~~~~~~ 2026-02-15T04:30:17.226697Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.226697Z 01O 128 | if (verbose) 2026-02-15T04:30:17.226698Z 01O | ^ 2026-02-15T04:30:17.226710Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.226716Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226716Z 01O | ^ 2026-02-15T04:30:17.226717Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226717Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226718Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.226719Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.226719Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226720Z 01O | ^ 2026-02-15T04:30:17.226720Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226721Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226721Z 01O | ^ 2026-02-15T04:30:17.226722Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.226723Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226723Z 01O | ^ 2026-02-15T04:30:17.226723Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226724Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226725Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.226725Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.226726Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226726Z 01O | ^ 2026-02-15T04:30:17.226845Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226846Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226846Z 01O | ^ 2026-02-15T04:30:17.226847Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.226848Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226848Z 01O | ^ 2026-02-15T04:30:17.226849Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.226849Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.226850Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.226850Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.226851Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.226852Z 01O | ^ 2026-02-15T04:30:17.226852Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.226853Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.226853Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.226853Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.226854Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.226855Z 01O | ^ 2026-02-15T04:30:17.226855Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.226856Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.227086Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-02-15T04:30:17.227389Z 01O | ^ 2026-02-15T04:30:17.227389Z 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-02-15T04:30:17.227395Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-02-15T04:30:17.227396Z 01O | ^ 2026-02-15T04:30:17.227397Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.227397Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.227398Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.227398Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.227399Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.227399Z 01O | ^ 2026-02-15T04:30:17.227399Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.227400Z 01O 128 | if (verbose) 2026-02-15T04:30:17.227401Z 01O | ^~~~~~~ 2026-02-15T04:30:17.227401Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.227402Z 01O 128 | if (verbose) 2026-02-15T04:30:17.227402Z 01O | ^ 2026-02-15T04:30:17.227402Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.227403Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.227403Z 01O | ^ 2026-02-15T04:30:17.227455Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.227456Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.227458Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.227459Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.227460Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.227461Z 01O | ^ 2026-02-15T04:30:17.227471Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.227472Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.227472Z 01O | ^ 2026-02-15T04:30:17.227473Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.227473Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.227474Z 01O | ^ 2026-02-15T04:30:17.227474Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.227475Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.227476Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.227476Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.227477Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.227477Z 01O | ^ 2026-02-15T04:30:17.227478Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.227478Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.227479Z 01O | ^ 2026-02-15T04:30:17.227479Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.227480Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.227481Z 01O | ^ 2026-02-15T04:30:17.227598Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.227599Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.227600Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.227600Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.227606Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.227606Z 01O | ^ 2026-02-15T04:30:17.227607Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.227607Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.227608Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.227608Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.227609Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.227609Z 01O | ^ 2026-02-15T04:30:17.227616Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.227617Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.227657Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-02-15T04:30:17.227939Z 01O | ^ 2026-02-15T04:30:17.227939Z 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-02-15T04:30:17.227940Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-02-15T04:30:17.227941Z 01O | ^ 2026-02-15T04:30:17.227941Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.227942Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.227942Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.227943Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.227943Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.227944Z 01O | ^ 2026-02-15T04:30:17.228012Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.228013Z 01O 128 | if (verbose) 2026-02-15T04:30:17.228013Z 01O | ^~~~~~~ 2026-02-15T04:30:17.228019Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.228020Z 01O 128 | if (verbose) 2026-02-15T04:30:17.228020Z 01O | ^ 2026-02-15T04:30:17.228021Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.228021Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228022Z 01O | ^ 2026-02-15T04:30:17.228022Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228023Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228024Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.228024Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.228025Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228025Z 01O | ^ 2026-02-15T04:30:17.228026Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228026Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228027Z 01O | ^ 2026-02-15T04:30:17.228027Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.228028Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228029Z 01O | ^ 2026-02-15T04:30:17.228033Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228034Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228035Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.228035Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.228036Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228036Z 01O | ^ 2026-02-15T04:30:17.228086Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228087Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228088Z 01O | ^ 2026-02-15T04:30:17.228094Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.228094Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228095Z 01O | ^ 2026-02-15T04:30:17.228095Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228096Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228097Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.228097Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.228098Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228098Z 01O | ^ 2026-02-15T04:30:17.228099Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.228099Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.228100Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.228100Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.228101Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.228101Z 01O | ^ 2026-02-15T04:30:17.228102Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.228102Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.228340Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-02-15T04:30:17.228528Z 01O | ^ 2026-02-15T04:30:17.228529Z 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-02-15T04:30:17.228530Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-02-15T04:30:17.228530Z 01O | ^ 2026-02-15T04:30:17.228531Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.228531Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.228532Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.228607Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.228608Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.228608Z 01O | ^ 2026-02-15T04:30:17.228608Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.228609Z 01O 128 | if (verbose) 2026-02-15T04:30:17.228609Z 01O | ^~~~~~~ 2026-02-15T04:30:17.228610Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.228610Z 01O 128 | if (verbose) 2026-02-15T04:30:17.228611Z 01O | ^ 2026-02-15T04:30:17.228611Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.228617Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228618Z 01O | ^ 2026-02-15T04:30:17.228618Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228619Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228619Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.228626Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.228627Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228627Z 01O | ^ 2026-02-15T04:30:17.228628Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228628Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228629Z 01O | ^ 2026-02-15T04:30:17.228629Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.228630Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228631Z 01O | ^ 2026-02-15T04:30:17.228631Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228632Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228632Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.228633Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.228633Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228634Z 01O | ^ 2026-02-15T04:30:17.228705Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228706Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228706Z 01O | ^ 2026-02-15T04:30:17.228707Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.228707Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228708Z 01O | ^ 2026-02-15T04:30:17.228708Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.228709Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.228710Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.228710Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.228711Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.228711Z 01O | ^ 2026-02-15T04:30:17.228712Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.228712Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.228713Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.228713Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.228714Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.228714Z 01O | ^ 2026-02-15T04:30:17.228717Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.228717Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.228800Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-02-15T04:30:17.229187Z 01O | ^ 2026-02-15T04:30:17.229187Z 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-02-15T04:30:17.229188Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-02-15T04:30:17.229189Z 01O | ^ 2026-02-15T04:30:17.229189Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.229190Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.229190Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.229196Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.229197Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.229197Z 01O | ^ 2026-02-15T04:30:17.229198Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.229198Z 01O 128 | if (verbose) 2026-02-15T04:30:17.229199Z 01O | ^~~~~~~ 2026-02-15T04:30:17.229199Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.229200Z 01O 128 | if (verbose) 2026-02-15T04:30:17.229200Z 01O | ^ 2026-02-15T04:30:17.229203Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.229204Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229204Z 01O | ^ 2026-02-15T04:30:17.229207Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229208Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229209Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.229212Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.229213Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229213Z 01O | ^ 2026-02-15T04:30:17.229254Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229255Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229255Z 01O | ^ 2026-02-15T04:30:17.229256Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.229256Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229257Z 01O | ^ 2026-02-15T04:30:17.229257Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229258Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229259Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.229259Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.229260Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229260Z 01O | ^ 2026-02-15T04:30:17.229290Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229290Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229291Z 01O | ^ 2026-02-15T04:30:17.229293Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.229294Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229295Z 01O | ^ 2026-02-15T04:30:17.229297Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229298Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229299Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.229302Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.229303Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229304Z 01O | ^ 2026-02-15T04:30:17.229304Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.229305Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.229315Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.229315Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.229316Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.229316Z 01O | ^ 2026-02-15T04:30:17.229316Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.229317Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.229434Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-02-15T04:30:17.229714Z 01O | ^ 2026-02-15T04:30:17.229803Z 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-02-15T04:30:17.229804Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-02-15T04:30:17.229805Z 01O | ^ 2026-02-15T04:30:17.229805Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.229806Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.229806Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.229807Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.229807Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.229808Z 01O | ^ 2026-02-15T04:30:17.229808Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.229809Z 01O 128 | if (verbose) 2026-02-15T04:30:17.229809Z 01O | ^~~~~~~ 2026-02-15T04:30:17.229811Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.229812Z 01O 128 | if (verbose) 2026-02-15T04:30:17.229812Z 01O | ^ 2026-02-15T04:30:17.229815Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.229815Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229816Z 01O | ^ 2026-02-15T04:30:17.229820Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229821Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229822Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.229828Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.229828Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229829Z 01O | ^ 2026-02-15T04:30:17.229899Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229900Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229900Z 01O | ^ 2026-02-15T04:30:17.229901Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.229902Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229903Z 01O | ^ 2026-02-15T04:30:17.229904Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229905Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229906Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.229907Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.229908Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229909Z 01O | ^ 2026-02-15T04:30:17.229919Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229920Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229921Z 01O | ^ 2026-02-15T04:30:17.229921Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.229922Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229922Z 01O | ^ 2026-02-15T04:30:17.229923Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.229924Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.229924Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.229925Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.229925Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.229926Z 01O | ^ 2026-02-15T04:30:17.229926Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.229927Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.229927Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.229928Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.229928Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.229929Z 01O | ^ 2026-02-15T04:30:17.229929Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.229930Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.230048Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-02-15T04:30:17.230294Z 01O | ^ 2026-02-15T04:30:17.230300Z 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-02-15T04:30:17.230301Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-02-15T04:30:17.230302Z 01O | ^ 2026-02-15T04:30:17.230302Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-15T04:30:17.230303Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.230304Z 01O | ^~~~~~~~~~~~~ 2026-02-15T04:30:17.230363Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-15T04:30:17.230364Z 01O 124 | if (!xlength(obj)) 2026-02-15T04:30:17.230365Z 01O | ^ 2026-02-15T04:30:17.230367Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-15T04:30:17.230368Z 01O 128 | if (verbose) 2026-02-15T04:30:17.230368Z 01O | ^~~~~~~ 2026-02-15T04:30:17.230369Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-15T04:30:17.230369Z 01O 128 | if (verbose) 2026-02-15T04:30:17.230370Z 01O | ^ 2026-02-15T04:30:17.230372Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.230373Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.230373Z 01O | ^ 2026-02-15T04:30:17.230388Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.230389Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.230389Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.230390Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.230390Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.230391Z 01O | ^ 2026-02-15T04:30:17.230391Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.230392Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.230393Z 01O | ^ 2026-02-15T04:30:17.230450Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.230460Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.230461Z 01O | ^ 2026-02-15T04:30:17.230461Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.230463Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.230464Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.230465Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-15T04:30:17.230465Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.230466Z 01O | ^ 2026-02-15T04:30:17.230466Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.230467Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.230468Z 01O | ^ 2026-02-15T04:30:17.230468Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-15T04:30:17.230469Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.230469Z 01O | ^ 2026-02-15T04:30:17.230477Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.230478Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.230479Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.230479Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-15T04:30:17.230480Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-15T04:30:17.230481Z 01O | ^ 2026-02-15T04:30:17.230523Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-15T04:30:17.230524Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.230525Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.230525Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-15T04:30:17.230526Z 01O 138 | if (obj_scalar) { 2026-02-15T04:30:17.230526Z 01O | ^ 2026-02-15T04:30:17.230565Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-15T04:30:17.230566Z 01O 151 | for (int i=0; i= 'nx' 2026-02-15T04:30:17.230643Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-02-15T04:30:17.230923Z 01O | ^ 2026-02-15T04:30:17.230969Z 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-02-15T04:30:17.230970Z 01O 136 | SEXP x = R_NilValue; 2026-02-15T04:30:17.230971Z 01O | ^ ~~~~~~~~~~ 2026-02-15T04:30:17.230971Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-02-15T04:30:17.230972Z 01O 136 | SEXP x = R_NilValue; 2026-02-15T04:30:17.230972Z 01O | ^ ~~~~~~~~~~ 2026-02-15T04:30:17.231105Z 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-02-15T04:30:17.231106Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-02-15T04:30:17.231107Z 01O | ^ 2026-02-15T04:30:17.231110Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-02-15T04:30:17.231111Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-02-15T04:30:17.231111Z 01O | ^ 2026-02-15T04:30:17.231112Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-02-15T04:30:17.231112Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-02-15T04:30:17.231113Z 01O | ^ 2026-02-15T04:30:17.231144Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-02-15T04:30:17.231145Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-02-15T04:30:17.231145Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231149Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-02-15T04:30:17.231150Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-02-15T04:30:17.231151Z 01O | ^ 2026-02-15T04:30:17.231151Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-02-15T04:30:17.231152Z 01O 131 | if (length(throttle)) { 2026-02-15T04:30:17.231152Z 01O | ^ 2026-02-15T04:30:17.231153Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-15T04:30:17.231159Z 01O 999 | #define length(x) Rf_length(x) 2026-02-15T04:30:17.231159Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.231160Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-02-15T04:30:17.231161Z 01O 131 | if (length(throttle)) { 2026-02-15T04:30:17.231161Z 01O | ^ 2026-02-15T04:30:17.231216Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-02-15T04:30:17.231216Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-02-15T04:30:17.231217Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231217Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-02-15T04:30:17.231263Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-02-15T04:30:17.231264Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-02-15T04:30:17.231265Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231265Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-02-15T04:30:17.231266Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-02-15T04:30:17.231266Z 01O | ^ 2026-02-15T04:30:17.231267Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-02-15T04:30:17.231267Z 01O 138 | initDTthreads(); 2026-02-15T04:30:17.231268Z 01O | ^~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231268Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-02-15T04:30:17.231269Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-02-15T04:30:17.231269Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231270Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-02-15T04:30:17.231271Z 01O 14 | const char *val = getenv(name); 2026-02-15T04:30:17.231271Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.231272Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-02-15T04:30:17.231272Z 01O 14 | const char *val = getenv(name); 2026-02-15T04:30:17.231273Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.231273Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-02-15T04:30:17.231274Z 01O 14 | const char *val = getenv(name); 2026-02-15T04:30:17.231274Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.231275Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-02-15T04:30:17.231275Z 01O 15 | if (val == NULL) return def; 2026-02-15T04:30:17.231276Z 01O | ^~~ 2026-02-15T04:30:17.231276Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-02-15T04:30:17.231277Z 01O 15 | if (val == NULL) return def; 2026-02-15T04:30:17.231277Z 01O | ^ 2026-02-15T04:30:17.231343Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-02-15T04:30:17.231344Z 01O 17 | if (nchar == 0) return def; 2026-02-15T04:30:17.231345Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.231345Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-02-15T04:30:17.231346Z 01O 17 | if (nchar == 0) return def; 2026-02-15T04:30:17.231346Z 01O | ^ 2026-02-15T04:30:17.231347Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-02-15T04:30:17.231347Z 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-02-15T04:30:17.231348Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231413Z 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-02-15T04:30:17.231414Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-02-15T04:30:17.231415Z 01O | ^ 2026-02-15T04:30:17.231415Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-02-15T04:30:17.231416Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-02-15T04:30:17.231417Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231417Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-02-15T04:30:17.231418Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-02-15T04:30:17.231418Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231476Z 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-02-15T04:30:17.231477Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-02-15T04:30:17.231477Z 01O | ^ ~~~~~ 2026-02-15T04:30:17.231478Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-02-15T04:30:17.231479Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-15T04:30:17.231479Z 01O | ^ 2026-02-15T04:30:17.231480Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231480Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231481Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231481Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-02-15T04:30:17.231482Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-15T04:30:17.231482Z 01O | ^ 2026-02-15T04:30:17.231642Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231643Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231644Z 01O | ^ 2026-02-15T04:30:17.231644Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-02-15T04:30:17.231645Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-15T04:30:17.231645Z 01O | ^ 2026-02-15T04:30:17.231646Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231646Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231647Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.231648Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-02-15T04:30:17.231648Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-15T04:30:17.231649Z 01O | ^ 2026-02-15T04:30:17.231649Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231650Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231650Z 01O | ^ 2026-02-15T04:30:17.231651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-02-15T04:30:17.231652Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-15T04:30:17.231652Z 01O | ^ 2026-02-15T04:30:17.231652Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231653Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231659Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231725Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-02-15T04:30:17.231726Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-15T04:30:17.231727Z 01O | ^ 2026-02-15T04:30:17.231727Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-02-15T04:30:17.231728Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-02-15T04:30:17.231728Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231729Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-02-15T04:30:17.231734Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-02-15T04:30:17.231734Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-02-15T04:30:17.231735Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231735Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-02-15T04:30:17.231736Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-02-15T04:30:17.231736Z 01O | ^ 2026-02-15T04:30:17.231737Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-02-15T04:30:17.231737Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-15T04:30:17.231738Z 01O | ^ 2026-02-15T04:30:17.231824Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231825Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231826Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231827Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-02-15T04:30:17.231827Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-15T04:30:17.231828Z 01O | ^ 2026-02-15T04:30:17.231828Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231829Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231829Z 01O | ^ 2026-02-15T04:30:17.231830Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-02-15T04:30:17.231831Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-15T04:30:17.231831Z 01O | ^ 2026-02-15T04:30:17.231831Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231832Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231833Z 01O | ^~~~~~~~~~~~ 2026-02-15T04:30:17.231833Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-02-15T04:30:17.231834Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-15T04:30:17.231834Z 01O | ^ 2026-02-15T04:30:17.231835Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231835Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231836Z 01O | ^ 2026-02-15T04:30:17.231837Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-02-15T04:30:17.231837Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-15T04:30:17.231838Z 01O | ^ 2026-02-15T04:30:17.231913Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-15T04:30:17.231919Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-15T04:30:17.231920Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231920Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-02-15T04:30:17.231921Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-15T04:30:17.231922Z 01O | ^ 2026-02-15T04:30:17.231926Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-02-15T04:30:17.231927Z 01O 13 | if (!length(l)) return(l); 2026-02-15T04:30:17.231928Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.231928Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-02-15T04:30:17.231929Z 01O 13 | if (!length(l)) return(l); 2026-02-15T04:30:17.231929Z 01O | ^ 2026-02-15T04:30:17.231930Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-02-15T04:30:17.231930Z 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-02-15T04:30:17.231931Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231931Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-02-15T04:30:17.231932Z 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-02-15T04:30:17.231933Z 01O | ^ 2026-02-15T04:30:17.231933Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-02-15T04:30:17.231934Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-02-15T04:30:17.231934Z 01O | ^~~~ 2026-02-15T04:30:17.231937Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-02-15T04:30:17.231938Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-02-15T04:30:17.231938Z 01O | ^ 2026-02-15T04:30:17.231939Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-02-15T04:30:17.231940Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-02-15T04:30:17.231941Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.231950Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-02-15T04:30:17.231951Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-02-15T04:30:17.231952Z 01O | ^~~~~ 2026-02-15T04:30:17.232018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-02-15T04:30:17.232019Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-02-15T04:30:17.232020Z 01O | ^ 2026-02-15T04:30:17.232020Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-02-15T04:30:17.232021Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.232021Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.232022Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.232022Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.232023Z 01O | ^ 2026-02-15T04:30:17.232023Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-15T04:30:17.232024Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.232025Z 01O | ^ 2026-02-15T04:30:17.232025Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.232026Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.232031Z 01O | ^ 2026-02-15T04:30:17.232120Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-15T04:30:17.232121Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.232121Z 01O | ^ 2026-02-15T04:30:17.232122Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-15T04:30:17.232123Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.232123Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.232124Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-15T04:30:17.232124Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.232125Z 01O | ^ 2026-02-15T04:30:17.232125Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-15T04:30:17.232126Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.232127Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.232127Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-15T04:30:17.232128Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.232128Z 01O | ^ 2026-02-15T04:30:17.232128Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-15T04:30:17.232129Z 01O 37 | if (fill) { 2026-02-15T04:30:17.232129Z 01O | ^~~~ 2026-02-15T04:30:17.232130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-15T04:30:17.232130Z 01O 37 | if (fill) { 2026-02-15T04:30:17.232131Z 01O | ^ 2026-02-15T04:30:17.232131Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-15T04:30:17.232132Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.232132Z 01O | ^~~~ 2026-02-15T04:30:17.232133Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-15T04:30:17.232133Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.232134Z 01O | ^ 2026-02-15T04:30:17.232270Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-15T04:30:17.232271Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.232272Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.232273Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-15T04:30:17.232273Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.232274Z 01O | ^ 2026-02-15T04:30:17.232275Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-15T04:30:17.232275Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.232276Z 01O | ^~~~~~ 2026-02-15T04:30:17.232276Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-15T04:30:17.232277Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.232277Z 01O | ^ 2026-02-15T04:30:17.232278Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-15T04:30:17.232278Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.232279Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.232279Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-15T04:30:17.232280Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.232289Z 01O | ^ 2026-02-15T04:30:17.232290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-02-15T04:30:17.232290Z 01O 49 | for (int j=0; j0 checked above 2026-02-15T04:30:17.232354Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.234524Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-15T04:30:17.234527Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.234528Z 01O | ^ 2026-02-15T04:30:17.234528Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-15T04:30:17.234529Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.234530Z 01O | ^~~~~~~ 2026-02-15T04:30:17.234530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-15T04:30:17.234531Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.234531Z 01O | ^ 2026-02-15T04:30:17.234531Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-15T04:30:17.234532Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234533Z 01O | ^~~~ 2026-02-15T04:30:17.234533Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-15T04:30:17.234534Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-15T04:30:17.234534Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234535Z 01O | ^~~~ 2026-02-15T04:30:17.234535Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-15T04:30:17.234536Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234536Z 01O | ^ 2026-02-15T04:30:17.234537Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-15T04:30:17.234537Z 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-02-15T04:30:17.234538Z 01O | ^~~~ 2026-02-15T04:30:17.234539Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-15T04:30:17.234539Z 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-02-15T04:30:17.234540Z 01O | ^ 2026-02-15T04:30:17.234540Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-15T04:30:17.234541Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.234542Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.234542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-15T04:30:17.234543Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.234544Z 01O | ^ 2026-02-15T04:30:17.234544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-15T04:30:17.234545Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234560Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.234560Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-15T04:30:17.234561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-02-15T04:30:17.234561Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234562Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.234562Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-02-15T04:30:17.234563Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234564Z 01O | ^ 2026-02-15T04:30:17.234564Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-02-15T04:30:17.234565Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-15T04:30:17.234565Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.234566Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-02-15T04:30:17.234566Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-15T04:30:17.234567Z 01O | ^ 2026-02-15T04:30:17.234567Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-02-15T04:30:17.234568Z 01O 83 | int nuniq=0; 2026-02-15T04:30:17.234568Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.234569Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-02-15T04:30:17.234569Z 01O 85 | for (int i=0; i0 checked above 2026-02-15T04:30:17.234648Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.234649Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.234650Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.234650Z 01O | ^ 2026-02-15T04:30:17.234651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-15T04:30:17.234651Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.234652Z 01O | ^ 2026-02-15T04:30:17.234652Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.234653Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.234653Z 01O | ^ 2026-02-15T04:30:17.234654Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-15T04:30:17.234654Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.234655Z 01O | ^ 2026-02-15T04:30:17.234655Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-15T04:30:17.234656Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.234656Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.234657Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-15T04:30:17.234658Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.234658Z 01O | ^ 2026-02-15T04:30:17.234659Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-15T04:30:17.234659Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.234660Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.234660Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-15T04:30:17.234661Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.234661Z 01O | ^ 2026-02-15T04:30:17.234662Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-15T04:30:17.234662Z 01O 37 | if (fill) { 2026-02-15T04:30:17.234663Z 01O | ^~~~ 2026-02-15T04:30:17.234663Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-15T04:30:17.234664Z 01O 37 | if (fill) { 2026-02-15T04:30:17.234664Z 01O | ^ 2026-02-15T04:30:17.234665Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-15T04:30:17.234665Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.234666Z 01O | ^~~~ 2026-02-15T04:30:17.234666Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-15T04:30:17.234667Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.234667Z 01O | ^ 2026-02-15T04:30:17.234668Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-15T04:30:17.234672Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.234673Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.234673Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-15T04:30:17.234674Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.234674Z 01O | ^ 2026-02-15T04:30:17.234675Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-15T04:30:17.234675Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.234676Z 01O | ^~~~~~ 2026-02-15T04:30:17.234676Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-15T04:30:17.234677Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.234677Z 01O | ^ 2026-02-15T04:30:17.234678Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-15T04:30:17.234679Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.234679Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.234680Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-15T04:30:17.234680Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.234681Z 01O | ^ 2026-02-15T04:30:17.234682Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-02-15T04:30:17.234682Z 01O 49 | for (int j=0; j0 checked above 2026-02-15T04:30:17.234686Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.234686Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-15T04:30:17.234687Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.234688Z 01O | ^ 2026-02-15T04:30:17.234688Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-15T04:30:17.234689Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.234689Z 01O | ^~~~~~~ 2026-02-15T04:30:17.234689Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-15T04:30:17.234690Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.234691Z 01O | ^ 2026-02-15T04:30:17.234691Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-15T04:30:17.234692Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234692Z 01O | ^~~~ 2026-02-15T04:30:17.234692Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-15T04:30:17.234693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-15T04:30:17.234694Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234694Z 01O | ^~~~ 2026-02-15T04:30:17.234695Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-15T04:30:17.234698Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234699Z 01O | ^ 2026-02-15T04:30:17.234699Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-15T04:30:17.234700Z 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-02-15T04:30:17.234701Z 01O | ^~~~ 2026-02-15T04:30:17.234701Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-15T04:30:17.234702Z 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-02-15T04:30:17.234702Z 01O | ^ 2026-02-15T04:30:17.234703Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-15T04:30:17.234704Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.234704Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.234705Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-15T04:30:17.234705Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.234706Z 01O | ^ 2026-02-15T04:30:17.234706Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-15T04:30:17.234707Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234708Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.234708Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-15T04:30:17.234709Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-02-15T04:30:17.234709Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234710Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.234710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-02-15T04:30:17.234711Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234711Z 01O | ^ 2026-02-15T04:30:17.234712Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-02-15T04:30:17.234712Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-15T04:30:17.234713Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.234713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-02-15T04:30:17.234714Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-15T04:30:17.234715Z 01O | ^ 2026-02-15T04:30:17.234715Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-02-15T04:30:17.234716Z 01O 85 | for (int i=0; i= 'thisncol' 2026-02-15T04:30:17.234745Z 01O 92 | for (int j=0; j 'ncol' 2026-02-15T04:30:17.234772Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-15T04:30:17.234772Z 01O | ^~~~~~ 2026-02-15T04:30:17.234773Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-02-15T04:30:17.234773Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-15T04:30:17.234774Z 01O | ^ 2026-02-15T04:30:17.234774Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-02-15T04:30:17.234775Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-15T04:30:17.234775Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.234776Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-02-15T04:30:17.234777Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-02-15T04:30:17.234777Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.234778Z 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-02-15T04:30:17.234779Z 01O 153 | for (int j=0; j0 checked above 2026-02-15T04:30:17.234848Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.234849Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.234849Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.234850Z 01O | ^ 2026-02-15T04:30:17.234850Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-15T04:30:17.234851Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.234852Z 01O | ^ 2026-02-15T04:30:17.234852Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.234853Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.234853Z 01O | ^ 2026-02-15T04:30:17.234854Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-15T04:30:17.234855Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.234855Z 01O | ^ 2026-02-15T04:30:17.234856Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-15T04:30:17.234857Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.234859Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.234860Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-15T04:30:17.234861Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.234862Z 01O | ^ 2026-02-15T04:30:17.234862Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-15T04:30:17.234863Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.234863Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.234863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-15T04:30:17.234868Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.234868Z 01O | ^ 2026-02-15T04:30:17.234869Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-15T04:30:17.234869Z 01O 37 | if (fill) { 2026-02-15T04:30:17.234870Z 01O | ^~~~ 2026-02-15T04:30:17.234870Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-15T04:30:17.234871Z 01O 37 | if (fill) { 2026-02-15T04:30:17.234871Z 01O | ^ 2026-02-15T04:30:17.234872Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-15T04:30:17.234872Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.234873Z 01O | ^~~~ 2026-02-15T04:30:17.234873Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-15T04:30:17.234874Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.234874Z 01O | ^ 2026-02-15T04:30:17.234875Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-15T04:30:17.234876Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.234884Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.234884Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-15T04:30:17.234885Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.234886Z 01O | ^ 2026-02-15T04:30:17.234886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-15T04:30:17.234887Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.234887Z 01O | ^~~~~~ 2026-02-15T04:30:17.234888Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-15T04:30:17.234888Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.234889Z 01O | ^ 2026-02-15T04:30:17.234889Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-15T04:30:17.234890Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.234890Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.234891Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-15T04:30:17.234892Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.234892Z 01O | ^ 2026-02-15T04:30:17.234893Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-02-15T04:30:17.234893Z 01O 49 | for (int j=0; j0 checked above 2026-02-15T04:30:17.234897Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.234897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-15T04:30:17.234898Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.234899Z 01O | ^ 2026-02-15T04:30:17.234899Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-15T04:30:17.234903Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.234904Z 01O | ^~~~~~~ 2026-02-15T04:30:17.234920Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-15T04:30:17.234921Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.234922Z 01O | ^ 2026-02-15T04:30:17.234922Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-15T04:30:17.234923Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234923Z 01O | ^~~~ 2026-02-15T04:30:17.234924Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-15T04:30:17.234924Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-15T04:30:17.234925Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234925Z 01O | ^~~~ 2026-02-15T04:30:17.234926Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-15T04:30:17.234926Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.234927Z 01O | ^ 2026-02-15T04:30:17.234927Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-15T04:30:17.234928Z 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-02-15T04:30:17.234929Z 01O | ^~~~ 2026-02-15T04:30:17.234929Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-15T04:30:17.234930Z 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-02-15T04:30:17.234931Z 01O | ^ 2026-02-15T04:30:17.234931Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-15T04:30:17.234932Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.234932Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.234933Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-15T04:30:17.234933Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.234934Z 01O | ^ 2026-02-15T04:30:17.234935Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-15T04:30:17.234935Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234936Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.234936Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-15T04:30:17.234937Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-02-15T04:30:17.234937Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234938Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.234938Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-02-15T04:30:17.234939Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.234940Z 01O | ^ 2026-02-15T04:30:17.234940Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-02-15T04:30:17.234941Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-15T04:30:17.234941Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.234950Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-02-15T04:30:17.234950Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-15T04:30:17.234951Z 01O | ^ 2026-02-15T04:30:17.234955Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-02-15T04:30:17.234956Z 01O 85 | for (int i=0; i= 'thisncol' 2026-02-15T04:30:17.234978Z 01O 92 | for (int j=0; j= 'thisncol' 2026-02-15T04:30:17.235021Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-02-15T04:30:17.235034Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.235037Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-02-15T04:30:17.235038Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-02-15T04:30:17.235038Z 01O | ^ 2026-02-15T04:30:17.235039Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-02-15T04:30:17.235039Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-02-15T04:30:17.235052Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.235052Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-02-15T04:30:17.235053Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-15T04:30:17.235053Z 01O | ^ 2026-02-15T04:30:17.235054Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-02-15T04:30:17.235054Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.235055Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.235055Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-02-15T04:30:17.235056Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-02-15T04:30:17.235057Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.235057Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.235058Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-02-15T04:30:17.235058Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.235059Z 01O | ^ 2026-02-15T04:30:17.235059Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-02-15T04:30:17.235060Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.235060Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.235061Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-02-15T04:30:17.235061Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.235062Z 01O | ^ 2026-02-15T04:30:17.235075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-02-15T04:30:17.235076Z 01O 142 | for (int i=0; i= 'ncol' 2026-02-15T04:30:17.235080Z 01O 143 | for (int i=0; i0 checked above 2026-02-15T04:30:17.235467Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.235469Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.235470Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.235471Z 01O | ^ 2026-02-15T04:30:17.235506Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-15T04:30:17.235507Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.235507Z 01O | ^ 2026-02-15T04:30:17.235508Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.235508Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.235509Z 01O | ^ 2026-02-15T04:30:17.235515Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-15T04:30:17.235516Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.235516Z 01O | ^ 2026-02-15T04:30:17.235517Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-15T04:30:17.235517Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.235518Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.235519Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-15T04:30:17.235519Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.235520Z 01O | ^ 2026-02-15T04:30:17.235520Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-15T04:30:17.235521Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.235521Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.235522Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-15T04:30:17.235522Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.235523Z 01O | ^ 2026-02-15T04:30:17.235523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-15T04:30:17.235524Z 01O 37 | if (fill) { 2026-02-15T04:30:17.235524Z 01O | ^~~~ 2026-02-15T04:30:17.235525Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-15T04:30:17.235525Z 01O 37 | if (fill) { 2026-02-15T04:30:17.235526Z 01O | ^ 2026-02-15T04:30:17.235547Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-15T04:30:17.235548Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.235548Z 01O | ^~~~ 2026-02-15T04:30:17.235549Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-15T04:30:17.235549Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.235550Z 01O | ^ 2026-02-15T04:30:17.235570Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-15T04:30:17.235571Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.235571Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.235572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-15T04:30:17.235572Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.235573Z 01O | ^ 2026-02-15T04:30:17.235574Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-15T04:30:17.235574Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.235575Z 01O | ^~~~~~ 2026-02-15T04:30:17.235575Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-15T04:30:17.235576Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.235576Z 01O | ^ 2026-02-15T04:30:17.235657Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-15T04:30:17.235658Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.235659Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.235659Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-15T04:30:17.235660Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.235668Z 01O | ^ 2026-02-15T04:30:17.235700Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-02-15T04:30:17.235701Z 01O 49 | for (int j=0; j0 checked above 2026-02-15T04:30:17.235705Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.235705Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-15T04:30:17.235706Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.235706Z 01O | ^ 2026-02-15T04:30:17.235707Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-15T04:30:17.235707Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.235708Z 01O | ^~~~~~~ 2026-02-15T04:30:17.235708Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-15T04:30:17.235709Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.235709Z 01O | ^ 2026-02-15T04:30:17.235710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-15T04:30:17.235710Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.235711Z 01O | ^~~~ 2026-02-15T04:30:17.235711Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-15T04:30:17.235712Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-15T04:30:17.235713Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.235713Z 01O | ^~~~ 2026-02-15T04:30:17.235714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-15T04:30:17.235714Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.235715Z 01O | ^ 2026-02-15T04:30:17.235741Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-15T04:30:17.235742Z 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-02-15T04:30:17.235743Z 01O | ^~~~ 2026-02-15T04:30:17.235799Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-15T04:30:17.235800Z 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-02-15T04:30:17.235801Z 01O | ^ 2026-02-15T04:30:17.235801Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-15T04:30:17.235802Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.235803Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.235803Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-15T04:30:17.235804Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.235804Z 01O | ^ 2026-02-15T04:30:17.235805Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-15T04:30:17.235805Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.235806Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.235811Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-15T04:30:17.235812Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-02-15T04:30:17.235813Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.235813Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.235860Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-02-15T04:30:17.235861Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.235861Z 01O | ^ 2026-02-15T04:30:17.235862Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-02-15T04:30:17.235862Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-15T04:30:17.235863Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.235932Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-02-15T04:30:17.235933Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-15T04:30:17.235934Z 01O | ^ 2026-02-15T04:30:17.235934Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-02-15T04:30:17.235935Z 01O 85 | for (int i=0; i= 'thisncol' 2026-02-15T04:30:17.236055Z 01O 92 | for (int j=0; j= 'thisncol' 2026-02-15T04:30:17.236144Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-02-15T04:30:17.236150Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.236150Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-02-15T04:30:17.236151Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-02-15T04:30:17.236151Z 01O | ^ 2026-02-15T04:30:17.236152Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-02-15T04:30:17.236153Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-02-15T04:30:17.236221Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.236222Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-02-15T04:30:17.236232Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-15T04:30:17.236232Z 01O | ^ 2026-02-15T04:30:17.236233Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-02-15T04:30:17.236233Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.236242Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.236243Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-02-15T04:30:17.236244Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-02-15T04:30:17.236245Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.236246Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.236247Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-02-15T04:30:17.236247Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.236248Z 01O | ^ 2026-02-15T04:30:17.236282Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-02-15T04:30:17.236283Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.236283Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.236284Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-02-15T04:30:17.236284Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-15T04:30:17.236285Z 01O | ^ 2026-02-15T04:30:17.236285Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-02-15T04:30:17.236286Z 01O 142 | for (int i=0; i= 'ncol' 2026-02-15T04:30:17.236290Z 01O 143 | for (int i=0; i0 checked above 2026-02-15T04:30:17.236884Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.236885Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.236885Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.236886Z 01O | ^ 2026-02-15T04:30:17.236886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-15T04:30:17.236887Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.236888Z 01O | ^ 2026-02-15T04:30:17.236888Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.236889Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.236889Z 01O | ^ 2026-02-15T04:30:17.236890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-15T04:30:17.236890Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.236891Z 01O | ^ 2026-02-15T04:30:17.236891Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-15T04:30:17.236892Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.236892Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.236951Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-15T04:30:17.236952Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.236953Z 01O | ^ 2026-02-15T04:30:17.236953Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-15T04:30:17.236954Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.236954Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.236955Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-15T04:30:17.236955Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.236956Z 01O | ^ 2026-02-15T04:30:17.236956Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-15T04:30:17.236957Z 01O 37 | if (fill) { 2026-02-15T04:30:17.236957Z 01O | ^~~~ 2026-02-15T04:30:17.236958Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-15T04:30:17.236958Z 01O 37 | if (fill) { 2026-02-15T04:30:17.236959Z 01O | ^ 2026-02-15T04:30:17.236959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-15T04:30:17.236960Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.236960Z 01O | ^~~~ 2026-02-15T04:30:17.236983Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-15T04:30:17.236984Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.236993Z 01O | ^ 2026-02-15T04:30:17.236994Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-15T04:30:17.236994Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.236995Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.236995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-15T04:30:17.236996Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.236997Z 01O | ^ 2026-02-15T04:30:17.236997Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-15T04:30:17.236998Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.236998Z 01O | ^~~~~~ 2026-02-15T04:30:17.236999Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-15T04:30:17.236999Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.237000Z 01O | ^ 2026-02-15T04:30:17.237044Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-02-15T04:30:17.237044Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.237045Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.237046Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.237046Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.237047Z 01O | ^ 2026-02-15T04:30:17.237047Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-02-15T04:30:17.237048Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.237049Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.237094Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-02-15T04:30:17.237095Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.237096Z 01O | ^ 2026-02-15T04:30:17.237096Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-15T04:30:17.237097Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.237097Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.237098Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-15T04:30:17.237099Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.237099Z 01O | ^ 2026-02-15T04:30:17.237100Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.237100Z 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-02-15T04:30:17.237204Z 01O | ^~~~ 2026-02-15T04:30:17.237205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-02-15T04:30:17.237211Z 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-02-15T04:30:17.237212Z 01O | ^ 2026-02-15T04:30:17.237212Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-02-15T04:30:17.237213Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-02-15T04:30:17.237213Z 01O | ^~~~~ 2026-02-15T04:30:17.237271Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-02-15T04:30:17.237273Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-02-15T04:30:17.237273Z 01O | ^ 2026-02-15T04:30:17.237274Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-02-15T04:30:17.237274Z 01O 49 | for (int j=0; j0 checked above 2026-02-15T04:30:17.237277Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.237277Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-15T04:30:17.237278Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.237278Z 01O | ^ 2026-02-15T04:30:17.237279Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-15T04:30:17.237279Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.237280Z 01O | ^~~~~~~ 2026-02-15T04:30:17.237280Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-15T04:30:17.237281Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.237281Z 01O | ^ 2026-02-15T04:30:17.237282Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-15T04:30:17.237282Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.237283Z 01O | ^~~~ 2026-02-15T04:30:17.237283Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-15T04:30:17.237284Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-15T04:30:17.237284Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.237285Z 01O | ^~~~ 2026-02-15T04:30:17.237324Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-15T04:30:17.237325Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.237326Z 01O | ^ 2026-02-15T04:30:17.237326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-15T04:30:17.237327Z 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-02-15T04:30:17.237328Z 01O | ^~~~ 2026-02-15T04:30:17.237328Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-15T04:30:17.237329Z 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-02-15T04:30:17.237329Z 01O | ^ 2026-02-15T04:30:17.237330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-15T04:30:17.237331Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.237340Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.237346Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-15T04:30:17.237347Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.237348Z 01O | ^ 2026-02-15T04:30:17.237348Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-02-15T04:30:17.237349Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-02-15T04:30:17.237350Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.237350Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-15T04:30:17.237351Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.237351Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.237352Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-15T04:30:17.237502Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-02-15T04:30:17.237503Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.237503Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.237504Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-02-15T04:30:17.237504Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.237505Z 01O | ^ 2026-02-15T04:30:17.237505Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-02-15T04:30:17.237506Z 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-02-15T04:30:17.237507Z 01O | ^~~~ 2026-02-15T04:30:17.237507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-02-15T04:30:17.237508Z 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-02-15T04:30:17.237508Z 01O | ^ 2026-02-15T04:30:17.237509Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-02-15T04:30:17.237509Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.237510Z 01O | ^~~~ 2026-02-15T04:30:17.237510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-02-15T04:30:17.237511Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.237512Z 01O | ^ 2026-02-15T04:30:17.237512Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-02-15T04:30:17.237513Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.237513Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.237514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-02-15T04:30:17.237520Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-02-15T04:30:17.237521Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.237521Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.237522Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-02-15T04:30:17.237522Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.237523Z 01O | ^ 2026-02-15T04:30:17.237523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-02-15T04:30:17.237524Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-02-15T04:30:17.237529Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.237530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-02-15T04:30:17.237530Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-02-15T04:30:17.237531Z 01O | ^ 2026-02-15T04:30:17.237531Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-02-15T04:30:17.237532Z 01O 251 | if (idcol) { 2026-02-15T04:30:17.237532Z 01O | ^~~~~ 2026-02-15T04:30:17.237533Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-02-15T04:30:17.237533Z 01O 251 | if (idcol) { 2026-02-15T04:30:17.237534Z 01O | ^ 2026-02-15T04:30:17.237534Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.237535Z 01O 276 | for(int j=0; j0 checked above 2026-02-15T04:30:17.238035Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.238036Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.238036Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.238037Z 01O | ^ 2026-02-15T04:30:17.238037Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-15T04:30:17.238038Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.238039Z 01O | ^ 2026-02-15T04:30:17.238039Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-15T04:30:17.238040Z 01O 968 | #define isNull Rf_isNull 2026-02-15T04:30:17.238040Z 01O | ^ 2026-02-15T04:30:17.238041Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-15T04:30:17.238041Z 01O 32 | if (isNull(li)) continue; 2026-02-15T04:30:17.238042Z 01O | ^ 2026-02-15T04:30:17.238042Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-15T04:30:17.238043Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.238043Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.238112Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-15T04:30:17.238113Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-15T04:30:17.238114Z 01O | ^ 2026-02-15T04:30:17.238115Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-15T04:30:17.238115Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.238116Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.238116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-15T04:30:17.238117Z 01O 35 | if (!thisncol) continue; 2026-02-15T04:30:17.238117Z 01O | ^ 2026-02-15T04:30:17.238118Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-15T04:30:17.238118Z 01O 37 | if (fill) { 2026-02-15T04:30:17.238119Z 01O | ^~~~ 2026-02-15T04:30:17.238119Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-15T04:30:17.238125Z 01O 37 | if (fill) { 2026-02-15T04:30:17.238125Z 01O | ^ 2026-02-15T04:30:17.238126Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-15T04:30:17.238126Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.238127Z 01O | ^~~~ 2026-02-15T04:30:17.238127Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-15T04:30:17.238128Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-15T04:30:17.238129Z 01O | ^ 2026-02-15T04:30:17.238129Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-15T04:30:17.238130Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.238130Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.238192Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-15T04:30:17.238193Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-15T04:30:17.238194Z 01O | ^ 2026-02-15T04:30:17.238194Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-15T04:30:17.238195Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.238196Z 01O | ^~~~~~ 2026-02-15T04:30:17.238196Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-15T04:30:17.238197Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-15T04:30:17.238197Z 01O | ^ 2026-02-15T04:30:17.238202Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-02-15T04:30:17.238202Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.238203Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.238204Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.238204Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.238205Z 01O | ^ 2026-02-15T04:30:17.238205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-02-15T04:30:17.238206Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.238207Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.238207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-02-15T04:30:17.238208Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.238209Z 01O | ^ 2026-02-15T04:30:17.238272Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-15T04:30:17.238273Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.238274Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.238274Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-15T04:30:17.238275Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-15T04:30:17.238276Z 01O | ^ 2026-02-15T04:30:17.238276Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.238277Z 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-02-15T04:30:17.238287Z 01O | ^~~~ 2026-02-15T04:30:17.238344Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-02-15T04:30:17.238346Z 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-02-15T04:30:17.238347Z 01O | ^ 2026-02-15T04:30:17.238348Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-02-15T04:30:17.238349Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-02-15T04:30:17.238351Z 01O | ^~~~~ 2026-02-15T04:30:17.238357Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-02-15T04:30:17.238358Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-02-15T04:30:17.238359Z 01O | ^ 2026-02-15T04:30:17.238359Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-02-15T04:30:17.238360Z 01O 49 | for (int j=0; j0 checked above 2026-02-15T04:30:17.238362Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.238362Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-15T04:30:17.238363Z 01O 29 | for (int i=0; i0 checked above 2026-02-15T04:30:17.238363Z 01O | ^ 2026-02-15T04:30:17.238364Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-15T04:30:17.238364Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.238365Z 01O | ^~~~~~~ 2026-02-15T04:30:17.238365Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-15T04:30:17.238366Z 01O 57 | if (numZero) { // #1871 2026-02-15T04:30:17.238366Z 01O | ^ 2026-02-15T04:30:17.238410Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-02-15T04:30:17.238411Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.238412Z 01O | ^~~~ 2026-02-15T04:30:17.238412Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-02-15T04:30:17.238413Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-15T04:30:17.238413Z 01O | ^ 2026-02-15T04:30:17.238414Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-15T04:30:17.238414Z 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-02-15T04:30:17.238415Z 01O | ^~~~ 2026-02-15T04:30:17.238478Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-15T04:30:17.238479Z 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-02-15T04:30:17.238480Z 01O | ^ 2026-02-15T04:30:17.238480Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-15T04:30:17.238486Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.238486Z 01O | ^~~~~~~~~~~~~~ 2026-02-15T04:30:17.238487Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-15T04:30:17.238487Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-15T04:30:17.238488Z 01O | ^ 2026-02-15T04:30:17.238489Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-02-15T04:30:17.238489Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-02-15T04:30:17.238490Z 01O | ^~~~~~~~~~~ 2026-02-15T04:30:17.238490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-15T04:30:17.238491Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.238492Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.238492Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-15T04:30:17.238493Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-02-15T04:30:17.238493Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.238494Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.238559Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-02-15T04:30:17.238560Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-15T04:30:17.238560Z 01O | ^ 2026-02-15T04:30:17.238561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-02-15T04:30:17.238561Z 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-02-15T04:30:17.238562Z 01O | ^~~~ 2026-02-15T04:30:17.238562Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-02-15T04:30:17.238563Z 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-02-15T04:30:17.238564Z 01O | ^ 2026-02-15T04:30:17.238608Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-02-15T04:30:17.238609Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.238610Z 01O | ^~~~ 2026-02-15T04:30:17.238610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-02-15T04:30:17.238611Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.238611Z 01O | ^ 2026-02-15T04:30:17.238612Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-02-15T04:30:17.238612Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.238613Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.238613Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-02-15T04:30:17.238614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-02-15T04:30:17.238615Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.238615Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.238616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-02-15T04:30:17.238616Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-15T04:30:17.238617Z 01O | ^ 2026-02-15T04:30:17.238617Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-02-15T04:30:17.238623Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-02-15T04:30:17.238623Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.238624Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-02-15T04:30:17.238624Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-02-15T04:30:17.238625Z 01O | ^ 2026-02-15T04:30:17.238625Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-02-15T04:30:17.238626Z 01O 251 | if (idcol) { 2026-02-15T04:30:17.238626Z 01O | ^~~~~ 2026-02-15T04:30:17.238627Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-02-15T04:30:17.238627Z 01O 251 | if (idcol) { 2026-02-15T04:30:17.238628Z 01O | ^ 2026-02-15T04:30:17.238706Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.238707Z 01O 276 | for(int j=0; j= 1 2026-02-15T04:30:17.239110Z 01O 27 | if (n<1) return 0; 2026-02-15T04:30:17.239111Z 01O | ^~~ 2026-02-15T04:30:17.239111Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-02-15T04:30:17.239112Z 01O 27 | if (n<1) return 0; 2026-02-15T04:30:17.239112Z 01O | ^ 2026-02-15T04:30:17.239113Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-02-15T04:30:17.239113Z 01O 29 | va_start(ap, fmt); 2026-02-15T04:30:17.239114Z 01O | ^ 2026-02-15T04:30:17.239187Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-02-15T04:30:17.239188Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-02-15T04:30:17.239188Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-15T04:30:17.239189Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-02-15T04:30:17.239189Z 01O 40 | while (*ch!='\0') { 2026-02-15T04:30:17.239190Z 01O | ^~~~~~~~~ 2026-02-15T04:30:17.239190Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-02-15T04:30:17.239191Z 01O 40 | while (*ch!='\0') { 2026-02-15T04:30:17.239191Z 01O | ^ 2026-02-15T04:30:17.239192Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-02-15T04:30:17.239193Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-02-15T04:30:17.239193Z 01O | ^~~~~~~~ 2026-02-15T04:30:17.239193Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-02-15T04:30:17.239194Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-02-15T04:30:17.239195Z 01O | ^ 2026-02-15T04:30:17.239195Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-02-15T04:30:17.239196Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-02-15T04:30:17.239196Z 01O | ^~~~~~~~~~ 2026-02-15T04:30:17.239282Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-02-15T04:30:17.239283Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-02-15T04:30:17.239283Z 01O | ^ 2026-02-15T04:30:17.239284Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-02-15T04:30:17.239292Z 01O 47 | if (!end) { 2026-02-15T04:30:17.239293Z 01O | ^~~~ 2026-02-15T04:30:17.239293Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-02-15T04:30:17.239294Z 01O 47 | if (!end) { 2026-02-15T04:30:17.239294Z 01O | ^ 2026-02-15T04:30:17.239295Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-02-15T04:30:17.239296Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-02-15T04:30:17.239296Z 01O | ^ 2026-02-15T04:30:17.239301Z 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-02-15T04:30:17.239302Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-02-15T04:30:17.239303Z 01O | ^~~~~~ 2026-02-15T04:30:17.239303Z 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-02-15T04:30:17.239304Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-02-15T04:30:17.239305Z 01O | ^~~~~~ 2026-02-15T04:30:17.255971Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-02-15T04:30:17.795567Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-02-15T04:30:17.795607Z 01O * using R Under development (unstable) (2026-02-13 r89414) 2026-02-15T04:30:17.795791Z 01O * using platform: x86_64-pc-linux-gnu 2026-02-15T04:30:17.795982Z 01O * R was compiled by 2026-02-15T04:30:17.796159Z 01O Debian clang version 21.1.8 (3) 2026-02-15T04:30:17.796160Z 01O GNU Fortran (Debian 15.2.0-12) 15.2.0 2026-02-15T04:30:17.796321Z 01O * running under: Debian GNU/Linux forky/sid 2026-02-15T04:30:17.796539Z 01O * using session charset: UTF-8 2026-02-15T04:30:17.797040Z 01O * current time: 2026-02-15 04:30:17 UTC 2026-02-15T04:30:18.557496Z 01O * using option ‘--as-cran’ 2026-02-15T04:30:18.557813Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-02-15T04:30:18.560048Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-02-15T04:30:18.560257Z 01O * package encoding: UTF-8 2026-02-15T04:30:18.560517Z 01O * checking CRAN incoming feasibility ... OK 2026-02-15T04:30:19.085512Z 01O * checking package namespace information ... OK 2026-02-15T04:30:19.096728Z 01O * checking package dependencies ... OK 2026-02-15T04:30:20.409026Z 01O * checking if this is a source package ... OK 2026-02-15T04:30:20.412262Z 01O * checking if there is a namespace ... OK 2026-02-15T04:30:20.417281Z 01O * checking for .dll and .exe files ... OK 2026-02-15T04:30:20.417870Z 01O * checking for hidden files and directories ... OK 2026-02-15T04:30:20.420938Z 01O * checking for portable file names ... OK 2026-02-15T04:30:20.425803Z 01O * checking for sufficient/correct file permissions ... OK 2026-02-15T04:30:20.429785Z 01O * checking whether package ‘data.table’ can be installed ... [22s/22s] OK 2026-02-15T04:30:42.071802Z 01O * used C compiler: ‘Debian clang version 21.1.8 (3)’ 2026-02-15T04:30:42.072168Z 01O * checking installed package size ... INFO 2026-02-15T04:30:42.076684Z 01O installed size is 7.9Mb 2026-02-15T04:30:42.077418Z 01O sub-directories of 1Mb or more: 2026-02-15T04:30:42.077994Z 01O doc 1.1Mb 2026-02-15T04:30:42.077994Z 01O libs 1.5Mb 2026-02-15T04:30:42.077995Z 01O po 1.7Mb 2026-02-15T04:30:42.077995Z 01O tests 2.2Mb 2026-02-15T04:30:42.096365Z 01O * checking package directory ... OK 2026-02-15T04:30:42.096831Z 01O * checking for future file timestamps ... OK 2026-02-15T04:30:42.097497Z 01O * checking ‘build’ directory ... OK 2026-02-15T04:30:42.098446Z 01O * checking DESCRIPTION meta-information ... OK 2026-02-15T04:30:42.899892Z 01O * checking top-level files ... OK 2026-02-15T04:30:44.493482Z 01O * checking for left-over files ... OK 2026-02-15T04:30:44.496714Z 01O * checking index information ... OK 2026-02-15T04:30:44.671165Z 01O * checking package subdirectories ... OK 2026-02-15T04:30:45.069800Z 01O * checking code files for non-ASCII characters ... OK 2026-02-15T04:30:45.120895Z 01O * checking R files for syntax errors ... OK 2026-02-15T04:30:45.206092Z 01O * checking whether the package can be loaded ... OK 2026-02-15T04:30:45.416272Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-02-15T04:30:45.582934Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-02-15T04:30:45.747255Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-02-15T04:30:45.919057Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-02-15T04:30:46.132901Z 01O * checking loading without being on the library search path ... OK 2026-02-15T04:30:46.549643Z 01O * checking whether startup messages can be suppressed ... OK 2026-02-15T04:30:46.748267Z 01O * checking use of S3 registration ... OK 2026-02-15T04:30:46.779369Z 01O * checking dependencies in R code ... OK 2026-02-15T04:30:47.667732Z 01O * checking S3 generic/method consistency ... OK 2026-02-15T04:30:48.022311Z 01O * checking replacement functions ... OK 2026-02-15T04:30:48.237942Z 01O * checking foreign function calls ... OK 2026-02-15T04:30:49.073205Z 01O * checking R code for possible problems ... [17s/17s] OK 2026-02-15T04:31:05.616161Z 01O * checking Rd files ... OK 2026-02-15T04:31:06.459018Z 01O * checking Rd metadata ... OK 2026-02-15T04:31:06.502403Z 01O * checking Rd line widths ... OK 2026-02-15T04:31:06.810954Z 01O * checking Rd cross-references ... OK 2026-02-15T04:31:07.381582Z 01O * checking for missing documentation entries ... OK 2026-02-15T04:31:07.624839Z 01O * checking for code/documentation mismatches ... OK 2026-02-15T04:31:08.645837Z 01O * checking Rd \usage sections ... OK 2026-02-15T04:31:09.602135Z 01O * checking Rd contents ... OK 2026-02-15T04:31:10.078711Z 01O * checking for unstated dependencies in examples ... OK 2026-02-15T04:31:10.578924Z 01O * checking line endings in shell scripts ... OK 2026-02-15T04:31:10.579470Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-02-15T04:31:10.598970Z 01O * checking line endings in Makefiles ... OK 2026-02-15T04:31:10.599514Z 01O * checking compilation flags in Makevars ... OK 2026-02-15T04:31:10.657975Z 01O * checking for GNU extensions in Makefiles ... OK 2026-02-15T04:31:10.658992Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-02-15T04:31:10.660295Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-02-15T04:31:10.664937Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-02-15T04:31:10.677213Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-02-15T04:31:10.700845Z 01O * checking compilation flags used ... OK 2026-02-15T04:31:10.702705Z 01O * checking compiled code ... OK 2026-02-15T04:31:10.816248Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-02-15T04:31:11.015265Z 01O * checking files in ‘vignettes’ ... OK 2026-02-15T04:31:11.881496Z 01O * checking examples ... OK 2026-02-15T04:31:19.052759Z 01O * checking examples with --run-donttest ... OK 2026-02-15T04:31:29.300040Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-02-15T04:31:29.368627Z 01O * checking tests ... 2026-02-15T04:31:29.517929Z 01O Running ‘autoprint.R’ 2026-02-15T04:31:29.769740Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-02-15T04:31:29.777770Z 01O Running ‘froll.R’ [398s/398s] 2026-02-15T04:38:07.938753Z 01O Running ‘litedown.R’ 2026-02-15T04:38:08.258110Z 01O Running ‘main.R’ [43s/43s] 2026-02-15T04:38:51.661858Z 01O Running ‘mergelist.R’ 2026-02-15T04:38:53.244535Z 01O Running ‘nafill.R’ 2026-02-15T04:38:53.738297Z 01O Running ‘optimize.R’ 2026-02-15T04:38:55.074176Z 01O Running ‘other.R’ 2026-02-15T04:38:55.292298Z 01O Running ‘programming.R’ 2026-02-15T04:38:55.888942Z 01O Running ‘S4.R’ 2026-02-15T04:38:56.216375Z 01O Running ‘types.R’ 2026-02-15T04:38:56.464326Z 01O [447s/447s] OK 2026-02-15T04:38:56.566398Z 01O * checking for unstated dependencies in vignettes ... OK 2026-02-15T04:38:56.857854Z 01O * checking package vignettes ... OK 2026-02-15T04:38:57.479477Z 01O * checking re-building of vignette outputs ... [31s/31s] OK 2026-02-15T04:39:28.746042Z 01O * checking PDF version of manual ... OK 2026-02-15T04:39:35.034871Z 01O * checking HTML version of manual ... NOTE 2026-02-15T04:39:41.767849Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-02-15T04:39:41.767906Z 01O * checking for non-standard things in the check directory ... OK 2026-02-15T04:39:41.768448Z 01O * checking for detritus in the temp directory ... OK 2026-02-15T04:39:41.769103Z 01O * DONE 2026-02-15T04:39:41.769473Z 01E 2026-02-15T04:39:41.769596Z 01O Status: 1 NOTE 2026-02-15T04:39:41.769786Z 01E See 2026-02-15T04:39:41.769786Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-02-15T04:39:41.769787Z 01E for details. 2026-02-15T04:39:41.769892Z 01E 2026-02-15T04:39:41.792380Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-02-15T04:39:41.794528Z 01O $ Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 1 NOTE"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (V8 package) but ", shQuote(l)) else q("no")' 2026-02-15T04:39:42.135893Z 00O section_end:1771130382:step_script 2026-02-15T04:39:42.135899Z 00O+section_start:1771130382:after_script 2026-02-15T04:39:42.136340Z 00O+Running after_script 2026-02-15T04:39:42.508826Z 01O Running after script... 2026-02-15T04:39:42.508850Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-02-15T04:39:42.510280Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-02-15T04:39:42.510281Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-02-15T04:39:42.510328Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-02-15T04:39:42.510451Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-02-15T04:39:42.693414Z 00O section_end:1771130382:after_script 2026-02-15T04:39:42.693419Z 00O+section_start:1771130382:upload_artifacts_on_success 2026-02-15T04:39:42.694215Z 00O+Uploading artifacts for successful job 2026-02-15T04:39:43.124138Z 01O Uploading artifacts... 2026-02-15T04:39:43.195341Z 01E bus/test-lin-dev-clang-cran: found 713 matching artifact files and directories 2026-02-15T04:39:45.736489Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=cb0e9f4c21244d95a274d66414b1f4ea id=13120362990 responseStatus=201 Created token=6c_zaD2Ys 2026-02-15T04:39:45.918804Z 00O section_end:1771130385:upload_artifacts_on_success 2026-02-15T04:39:45.918809Z 00O+section_start:1771130385:cleanup_file_variables 2026-02-15T04:39:45.918897Z 00O+Cleaning up project directory and file based variables 2026-02-15T04:39:46.443186Z 00O section_end:1771130386:cleanup_file_variables 2026-02-15T04:39:46.443193Z 00O+ 2026-02-15T04:39:46.491300Z 00O Job succeeded