2026-05-29T04:21:19.356780Z 00O Running with gitlab-runner 19.0.0~pre.1138.ga0a1e0e8 (a0a1e0e8) 2026-05-29T04:21:19.356789Z 00O  on blue-1.saas-linux-medium.runners-manager.gitlab.com/default 2QMMJaNnp, system ID: s_406404729ae4 2026-05-29T04:21:19.356794Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true 2026-05-29T04:21:19.356816Z 00O Resolving secrets 2026-05-29T04:21:19.356950Z 00O section_start:1780028479:prepare_executor 2026-05-29T04:21:19.356951Z 00O+Preparing the "docker+machine" executor 2026-05-29T04:21:19.489434Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-05-29T04:21:23.332456Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-05-29T04:21:23.333056Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-05-29T04:21:23.333066Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-05-29T04:21:40.922808Z 00O Using docker image sha256:fb0dbdbcfe566e16974c0bf95e8fb3b6212544731955cc4cbea41a82f27ba2d6 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:44e34fba7e8f688b22b5f5ecd6a0211b7a5bbb073033e8f60a59caa22e01c6e8 ... 2026-05-29T04:21:40.922889Z 00O section_end:1780028500:prepare_executor 2026-05-29T04:21:40.922891Z 00O+section_start:1780028500:prepare_script 2026-05-29T04:21:40.922970Z 00O+Preparing environment 2026-05-29T04:21:40.923857Z 00O Using effective pull policy of [always] for container sha256:33ba579ab2d1c4a31186b42dcae685a5f2ece6fa41cb64414a67dac5ec4a7607 2026-05-29T04:21:46.308624Z 01O Running on runner-2qmmjannp-project-3622566-concurrent-0 via runner-2qmmjannp-s-l-m-amd64-1780028409-406acd70... 2026-05-29T04:21:46.469118Z 00O section_end:1780028506:prepare_script 2026-05-29T04:21:46.469122Z 00O+section_start:1780028506:get_sources 2026-05-29T04:21:46.469638Z 00O+Getting source from Git repository 2026-05-29T04:21:46.841554Z 01O Gitaly correlation ID: 54e839e84274471ab9bceb8830e7ade6 2026-05-29T04:21:46.848159Z 01O Fetching changes... 2026-05-29T04:21:46.851548Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-05-29T04:21:46.853822Z 01O Created fresh repository. 2026-05-29T04:21:52.508592Z 01O Checking out 1b998b10 as detached HEAD (ref is master)... 2026-05-29T04:21:52.700101Z 01O 2026-05-29T04:21:52.700106Z 01O Skipping Git submodules setup 2026-05-29T04:21:52.700107Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-05-29T04:21:52.910633Z 00O section_end:1780028512:get_sources 2026-05-29T04:21:52.910640Z 00O+section_start:1780028512:download_artifacts 2026-05-29T04:21:52.911409Z 00O+Downloading artifacts 2026-05-29T04:21:53.303945Z 01O Downloading artifacts for mirror-packages (14595616712)... 2026-05-29T04:21:53.481228Z 01E Direct download from storage.googleapis.com  correlation_id=5c341e7f34fb468e9a95821b7383579b id=14595616712 status=302 token=6f_odLUhy 2026-05-29T04:21:53.988734Z 01E Downloading artifacts from coordinator... ok  correlation_id=5c341e7f34fb468e9a95821b7383579b id=14595616712 status=302 token=6f_odLUhy 2026-05-29T04:21:54.620670Z 01O Downloading artifacts for build (14595616713)... 2026-05-29T04:21:54.792682Z 01E Direct download from storage.googleapis.com  correlation_id=83b8259963cc4a2489c4fa9be17aca9c id=14595616713 status=302 token=6f_odLUhy 2026-05-29T04:21:54.982135Z 01E Downloading artifacts from coordinator... ok  correlation_id=83b8259963cc4a2489c4fa9be17aca9c id=14595616713 status=302 token=6f_odLUhy 2026-05-29T04:21:55.617736Z 00O section_end:1780028515:download_artifacts 2026-05-29T04:21:55.617743Z 00O+section_start:1780028515:step_script 2026-05-29T04:21:55.618228Z 00O+Executing "step_script" stage of the job script 2026-05-29T04:21:55.618247Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-05-29T04:21:55.619245Z 00O Using docker image sha256:fb0dbdbcfe566e16974c0bf95e8fb3b6212544731955cc4cbea41a82f27ba2d6 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:44e34fba7e8f688b22b5f5ecd6a0211b7a5bbb073033e8f60a59caa22e01c6e8 ... 2026-05-29T04:21:55.962444Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-05-29T04:21:55.972470Z 01O $ mkdir -p ~/.R 2026-05-29T04:21:55.974067Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-05-29T04:21:55.974166Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-05-29T04:21:55.974233Z 01O $ Rscript -e 'source(".ci/ci.R"); install.packages(dcf.dependencies("DESCRIPTION", which="all"), repos=file.path("file:", normalizePath("bus/mirror-packages/cran", mustWork=FALSE)), quiet=TRUE)' 2026-05-29T04:21:56.196062Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-05-29T04:21:56.196067Z 01E 2026-05-29T04:23:10.473568Z 01E Updating HTML index of packages in '.Library' 2026-05-29T04:23:10.473584Z 01E Making 'packages.html' ... done 2026-05-29T04:23:10.489265Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-05-29T04:23:10.507963Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-05-29T04:23:17.842097Z 01E 3 warnings generated. 2026-05-29T04:23:17.842111Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-05-29T04:23:20.913428Z 01E 3 warnings generated. 2026-05-29T04:23:20.913627Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-05-29T04:23:27.616593Z 01E 3 warnings generated. 2026-05-29T04:23:27.616601Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-05-29T04:23:27.853870Z 01E 7 warnings generated. 2026-05-29T04:23:27.854154Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-05-29T04:23:30.535866Z 01E 7 warnings generated. 2026-05-29T04:23:30.536193Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-05-29T04:23:32.783112Z 01E 7 warnings generated. 2026-05-29T04:23:32.783371Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-05-29T04:23:37.103013Z 01E 7 warnings generated. 2026-05-29T04:23:37.103365Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-05-29T04:23:37.166386Z 01E 7 warnings generated. 2026-05-29T04:23:37.166707Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-05-29T04:23:40.052713Z 01E 10 warnings generated. 2026-05-29T04:23:40.053005Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-05-29T04:23:45.338464Z 01E 11 warnings generated. 2026-05-29T04:23:45.338770Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-05-29T04:23:49.230292Z 01E 12 warnings generated. 2026-05-29T04:23:49.230570Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-05-29T04:23:57.397927Z 01E 13 warnings generated. 2026-05-29T04:23:57.397979Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-05-29T04:24:00.791620Z 01E 13 warnings generated. 2026-05-29T04:24:00.791963Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-05-29T04:24:06.406300Z 01E 25 warnings generated. 2026-05-29T04:24:06.406310Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-05-29T04:24:15.377352Z 01E 29 warnings generated. 2026-05-29T04:24:15.377768Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-05-29T04:24:26.016760Z 01E 35 warnings generated. 2026-05-29T04:24:26.016773Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-05-29T04:24:29.644765Z 01E 36 warnings generated. 2026-05-29T04:24:29.645030Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-05-29T04:24:32.071215Z 01E 39 warnings generated. 2026-05-29T04:24:32.071545Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-05-29T04:24:32.122342Z 01E 39 warnings generated. 2026-05-29T04:24:32.122664Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-05-29T04:24:32.459568Z 01E 39 warnings generated. 2026-05-29T04:24:32.459866Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-05-29T04:24:38.771085Z 01E 41 warnings generated. 2026-05-29T04:24:38.771096Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-05-29T04:24:42.289499Z 01E 41 warnings generated. 2026-05-29T04:24:42.289876Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-05-29T04:24:56.258310Z 01E 46 warnings generated. 2026-05-29T04:24:56.258324Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-05-29T04:24:56.376848Z 01E 47 warnings generated. 2026-05-29T04:24:56.377083Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-05-29T04:24:56.631581Z 01E 47 warnings generated. 2026-05-29T04:24:56.631914Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-05-29T04:25:01.360295Z 01E 50 warnings generated. 2026-05-29T04:25:01.360613Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-05-29T04:25:01.410582Z 01E 50 warnings generated. 2026-05-29T04:25:01.410905Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-05-29T04:25:01.444713Z 01E 50 warnings generated. 2026-05-29T04:25:01.445095Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-05-29T04:25:02.319995Z 01E 50 warnings generated. 2026-05-29T04:25:02.320282Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-05-29T04:25:05.587767Z 01E 64 warnings generated. 2026-05-29T04:25:05.588039Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-05-29T04:25:05.619680Z 01E 64 warnings generated. 2026-05-29T04:25:05.620061Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-05-29T04:25:05.670171Z 01E 64 warnings generated. 2026-05-29T04:25:05.670553Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-05-29T04:25:05.818335Z 01E 65 warnings generated. 2026-05-29T04:25:05.818706Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-05-29T04:25:06.276328Z 01E 65 warnings generated. 2026-05-29T04:25:06.276751Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-05-29T04:25:07.097146Z 01E 65 warnings generated. 2026-05-29T04:25:07.097545Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-05-29T04:25:10.452080Z 01E 71 warnings generated. 2026-05-29T04:25:10.452361Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-05-29T04:25:13.194632Z 01E 71 warnings generated. 2026-05-29T04:25:13.194938Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-05-29T04:25:13.224631Z 01E 71 warnings generated. 2026-05-29T04:25:13.224918Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-05-29T04:25:16.128743Z 01E 71 warnings generated. 2026-05-29T04:25:16.129120Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-05-29T04:25:17.479915Z 01E 73 warnings generated. 2026-05-29T04:25:17.480291Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-05-29T04:25:17.857545Z 01E 73 warnings generated. 2026-05-29T04:25:17.857898Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-05-29T04:25:20.701897Z 01E 73 warnings generated. 2026-05-29T04:25:20.702195Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-05-29T04:25:21.047934Z 01E 73 warnings generated. 2026-05-29T04:25:21.048326Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-05-29T04:25:28.201245Z 01E 73 warnings generated. 2026-05-29T04:25:28.201256Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-05-29T04:25:29.290791Z 01E 73 warnings generated. 2026-05-29T04:25:29.291320Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-05-29T04:25:29.330934Z 01E 73 warnings generated. 2026-05-29T04:25:29.331358Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-05-29T04:25:29.412578Z 01E 73 warnings generated. 2026-05-29T04:25:29.413734Z 01O /builds/Rdatatable/data.table/src/assign.c:9:31: warning: Although the value stored to 'p' is used in the enclosing expression, the value is never actually read from 'p' [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.413736Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-05-29T04:25:29.413736Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413737Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-05-29T04:25:29.413738Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413739Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-05-29T04:25:29.413739Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413740Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-05-29T04:25:29.413741Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413741Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-05-29T04:25:29.413742Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413743Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-05-29T04:25:29.413743Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413744Z 01O 15 | R_NilValue 2026-05-29T04:25:29.413744Z 01O | ~~~~~~~~~~ 2026-05-29T04:25:29.413744Z 01O 16 | )) 2026-05-29T04:25:29.413745Z 01O | ~~ 2026-05-29T04:25:29.413745Z 01O 17 | )); 2026-05-29T04:25:29.413746Z 01O | ~ 2026-05-29T04:25:29.413847Z 01O /builds/Rdatatable/data.table/src/assign.c:9:31: note: Although the value stored to 'p' is used in the enclosing expression, the value is never actually read from 'p' 2026-05-29T04:25:29.413848Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-05-29T04:25:29.413848Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413849Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-05-29T04:25:29.413850Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413850Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-05-29T04:25:29.413851Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413851Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-05-29T04:25:29.413852Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413853Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-05-29T04:25:29.413853Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413882Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-05-29T04:25:29.413883Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413883Z 01O 15 | R_NilValue 2026-05-29T04:25:29.413884Z 01O | ~~~~~~~~~~ 2026-05-29T04:25:29.413884Z 01O 16 | )) 2026-05-29T04:25:29.413884Z 01O | ~~ 2026-05-29T04:25:29.413885Z 01O 17 | )); 2026-05-29T04:25:29.413885Z 01O | ~ 2026-05-29T04:25:29.413885Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: warning: Out of bound access to memory after the end of 'source' [clang-analyzer-security.ArrayBound] 2026-05-29T04:25:29.413886Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-29T04:25:29.413887Z 01O | ^ 2026-05-29T04:25:29.413887Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-05-29T04:25:29.413888Z 01O 937 | const STYPE val = sd[soff]; \ 2026-05-29T04:25:29.413888Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.413889Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'len' is >= 1 2026-05-29T04:25:29.413889Z 01O 714 | if (len<1) return NULL; 2026-05-29T04:25:29.413890Z 01O | ^~~~~ 2026-05-29T04:25:29.413890Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-05-29T04:25:29.413891Z 01O 714 | if (len<1) return NULL; 2026-05-29T04:25:29.413891Z 01O | ^ 2026-05-29T04:25:29.413891Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: Assuming 'sourceLen' is < 0 2026-05-29T04:25:29.413892Z 01O 715 | int slen = sourceLen>=0 ? sourceLen : length(source); // since source may get reassigned to a scalar, we should not mark it as const 2026-05-29T04:25:29.413893Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.413893Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: '?' condition is false 2026-05-29T04:25:29.413893Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming 'slen' is not equal to 0 2026-05-29T04:25:29.413894Z 01O 716 | if (slen==0) return NULL; 2026-05-29T04:25:29.413894Z 01O | ^~~~~~~ 2026-05-29T04:25:29.413895Z 01O /builds/Rdatatable/data.table/src/assign.c:716:3: note: Taking false branch 2026-05-29T04:25:29.413895Z 01O 716 | if (slen==0) return NULL; 2026-05-29T04:25:29.413896Z 01O | ^ 2026-05-29T04:25:29.413896Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Assuming 'sourceStart' is >= 0 2026-05-29T04:25:29.413897Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-29T04:25:29.413897Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.413898Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Left side of '||' is false 2026-05-29T04:25:29.413898Z 01O /builds/Rdatatable/data.table/src/assign.c:717:24: note: Assuming the condition is false 2026-05-29T04:25:29.413899Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-29T04:25:29.413899Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.413900Z 01O /builds/Rdatatable/data.table/src/assign.c:717:3: note: Taking false branch 2026-05-29T04:25:29.413900Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-29T04:25:29.413901Z 01O | ^ 2026-05-29T04:25:29.413901Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming the condition is false 2026-05-29T04:25:29.413902Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-05-29T04:25:29.413902Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.413911Z 01O /builds/Rdatatable/data.table/src/assign.c:719:22: note: Left side of '&&' is false 2026-05-29T04:25:29.413912Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-05-29T04:25:29.413913Z 01O | ^ 2026-05-29T04:25:29.413933Z 01O /builds/Rdatatable/data.table/src/assign.c:722:7: note: Assuming 'slen' is <= 1 2026-05-29T04:25:29.413933Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-05-29T04:25:29.413934Z 01O | ^~~~~~ 2026-05-29T04:25:29.413934Z 01O /builds/Rdatatable/data.table/src/assign.c:722:14: note: Left side of '&&' is false 2026-05-29T04:25:29.413935Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-05-29T04:25:29.413935Z 01O | ^ 2026-05-29T04:25:29.413936Z 01O /builds/Rdatatable/data.table/src/assign.c:726:7: note: Assuming 'colname' is not equal to NULL 2026-05-29T04:25:29.413936Z 01O 726 | if (colname==NULL) 2026-05-29T04:25:29.413937Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.413937Z 01O /builds/Rdatatable/data.table/src/assign.c:726:3: note: Taking false branch 2026-05-29T04:25:29.413938Z 01O 726 | if (colname==NULL) 2026-05-29T04:25:29.413938Z 01O | ^ 2026-05-29T04:25:29.413944Z 01O /builds/Rdatatable/data.table/src/assign.c:731:26: note: Assuming the condition is false 2026-05-29T04:25:29.413944Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-05-29T04:25:29.413945Z 01O | ^ 2026-05-29T04:25:29.413955Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-05-29T04:25:29.413956Z 01O 963 | #define isReal Rf_isReal 2026-05-29T04:25:29.413956Z 01O | ^ 2026-05-29T04:25:29.413957Z 01O /builds/Rdatatable/data.table/src/assign.c:731:41: note: Left side of '&&' is false 2026-05-29T04:25:29.413957Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-05-29T04:25:29.413958Z 01O | ^ 2026-05-29T04:25:29.414046Z 01O /builds/Rdatatable/data.table/src/assign.c:732:26: note: Assuming the condition is false 2026-05-29T04:25:29.414047Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-05-29T04:25:29.414047Z 01O | ^ 2026-05-29T04:25:29.414048Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-05-29T04:25:29.414048Z 01O 963 | #define isReal Rf_isReal 2026-05-29T04:25:29.414049Z 01O | ^ 2026-05-29T04:25:29.414049Z 01O /builds/Rdatatable/data.table/src/assign.c:732:41: note: Left side of '&&' is false 2026-05-29T04:25:29.414050Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-05-29T04:25:29.414050Z 01O | ^ 2026-05-29T04:25:29.414051Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Assuming 'sourceIsFactor' is false 2026-05-29T04:25:29.414051Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-29T04:25:29.414052Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.414052Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Left side of '||' is false 2026-05-29T04:25:29.414053Z 01O /builds/Rdatatable/data.table/src/assign.c:733:25: note: Assuming 'targetIsFactor' is false 2026-05-29T04:25:29.414053Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-29T04:25:29.414054Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.414054Z 01O /builds/Rdatatable/data.table/src/assign.c:733:3: note: Taking false branch 2026-05-29T04:25:29.414055Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-29T04:25:29.414055Z 01O | ^ 2026-05-29T04:25:29.414056Z 01O /builds/Rdatatable/data.table/src/assign.c:840:14: note: Assuming the condition is false 2026-05-29T04:25:29.414056Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-05-29T04:25:29.414057Z 01O | ^ 2026-05-29T04:25:29.414057Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-05-29T04:25:29.414064Z 01O 966 | #define isString Rf_isString 2026-05-29T04:25:29.414064Z 01O | ^ 2026-05-29T04:25:29.414158Z 01O /builds/Rdatatable/data.table/src/assign.c:840:31: note: Left side of '&&' is false 2026-05-29T04:25:29.414159Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-05-29T04:25:29.414159Z 01O | ^ 2026-05-29T04:25:29.414164Z 01O /builds/Rdatatable/data.table/src/assign.c:849:14: note: Assuming the condition is false 2026-05-29T04:25:29.414165Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-05-29T04:25:29.414165Z 01O | ^ 2026-05-29T04:25:29.414166Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-05-29T04:25:29.414166Z 01O 955 | #define isNewList Rf_isNewList 2026-05-29T04:25:29.414167Z 01O | ^ 2026-05-29T04:25:29.414167Z 01O /builds/Rdatatable/data.table/src/assign.c:849:32: note: Left side of '&&' is false 2026-05-29T04:25:29.414168Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-05-29T04:25:29.414168Z 01O | ^ 2026-05-29T04:25:29.414173Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Assuming the condition is false 2026-05-29T04:25:29.414174Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-29T04:25:29.414175Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.414175Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Left side of '||' is false 2026-05-29T04:25:29.414190Z 01O /builds/Rdatatable/data.table/src/assign.c:864:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-05-29T04:25:29.414191Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-29T04:25:29.414191Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.414192Z 01O /builds/Rdatatable/data.table/src/assign.c:864:75: note: Left side of '&&' is false 2026-05-29T04:25:29.414192Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-29T04:25:29.414193Z 01O | ^ 2026-05-29T04:25:29.414194Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: Assuming the condition is false 2026-05-29T04:25:29.414194Z 01O 974 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-05-29T04:25:29.414195Z 01O | ^ 2026-05-29T04:25:29.414195Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414196Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414196Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.414197Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: '?' condition is false 2026-05-29T04:25:29.414197Z 01O 974 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-05-29T04:25:29.414198Z 01O | ^ 2026-05-29T04:25:29.414198Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414199Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414199Z 01O | ^ 2026-05-29T04:25:29.414278Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Assuming the condition is true 2026-05-29T04:25:29.414279Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-05-29T04:25:29.414284Z 01O | ^ 2026-05-29T04:25:29.414284Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414285Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414285Z 01O | ^ 2026-05-29T04:25:29.414331Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-29T04:25:29.414332Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-05-29T04:25:29.414333Z 01O | ^ 2026-05-29T04:25:29.414333Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414334Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414334Z 01O | ^ 2026-05-29T04:25:29.414335Z 01O /builds/Rdatatable/data.table/src/assign.c:975:39: note: Assuming 'slen' is > 0 2026-05-29T04:25:29.414335Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-05-29T04:25:29.414336Z 01O | ^~~~~~ 2026-05-29T04:25:29.414337Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-29T04:25:29.414337Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-05-29T04:25:29.414338Z 01O | ^ 2026-05-29T04:25:29.414338Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414339Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414339Z 01O | ^ 2026-05-29T04:25:29.414395Z 01O /builds/Rdatatable/data.table/src/assign.c:975:49: note: Assuming 'slen' is equal to 'len' 2026-05-29T04:25:29.414395Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-05-29T04:25:29.414396Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.414397Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-29T04:25:29.414397Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-05-29T04:25:29.414398Z 01O | ^ 2026-05-29T04:25:29.414398Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414399Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414399Z 01O | ^ 2026-05-29T04:25:29.414450Z 01O /builds/Rdatatable/data.table/src/assign.c:975:62: note: Assuming 'soff' is not equal to 0 2026-05-29T04:25:29.414451Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-05-29T04:25:29.414452Z 01O | ^~~~~~~ 2026-05-29T04:25:29.414453Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: Assuming the condition is false 2026-05-29T04:25:29.414453Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-05-29T04:25:29.414454Z 01O | ^ 2026-05-29T04:25:29.414454Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414460Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414463Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.414464Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: '?' condition is false 2026-05-29T04:25:29.414464Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-05-29T04:25:29.414465Z 01O | ^ 2026-05-29T04:25:29.414518Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414519Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414519Z 01O | ^ 2026-05-29T04:25:29.414520Z 01O /builds/Rdatatable/data.table/src/assign.c:977:3: note: Control jumps to 'case 20:' at line 1105 2026-05-29T04:25:29.414520Z 01O 977 | switch (TYPEOF(target)) { 2026-05-29T04:25:29.414521Z 01O | ^ 2026-05-29T04:25:29.414521Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: 'len' is equal to 1 2026-05-29T04:25:29.414522Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-29T04:25:29.414522Z 01O | ^~~ 2026-05-29T04:25:29.414523Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-05-29T04:25:29.414554Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:21: note: Assuming the condition is true 2026-05-29T04:25:29.414555Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-29T04:25:29.414556Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.414556Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-05-29T04:25:29.414557Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-29T04:25:29.414557Z 01O | ^ 2026-05-29T04:25:29.414558Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:47: note: Assuming the condition is true 2026-05-29T04:25:29.414558Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-29T04:25:29.414559Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.414559Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:5: note: Taking true branch 2026-05-29T04:25:29.414560Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-29T04:25:29.414560Z 01O | ^ 2026-05-29T04:25:29.414641Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Assuming the condition is true 2026-05-29T04:25:29.414642Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-29T04:25:29.414642Z 01O | ^ 2026-05-29T04:25:29.414643Z 01O /builds/Rdatatable/data.table/src/assign.c:935:9: note: expanded from macro 'BODY' 2026-05-29T04:25:29.414643Z 01O 935 | if (length(where)) { \ 2026-05-29T04:25:29.414644Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.414644Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.414645Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.414645Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.414646Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-05-29T04:25:29.414646Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-29T04:25:29.414647Z 01O | ^ 2026-05-29T04:25:29.414647Z 01O /builds/Rdatatable/data.table/src/assign.c:935:5: note: expanded from macro 'BODY' 2026-05-29T04:25:29.414648Z 01O 935 | if (length(where)) { \ 2026-05-29T04:25:29.414648Z 01O | ^ 2026-05-29T04:25:29.414674Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: 'slen' is equal to 1 2026-05-29T04:25:29.414679Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-29T04:25:29.414679Z 01O | ^ 2026-05-29T04:25:29.414680Z 01O /builds/Rdatatable/data.table/src/assign.c:936:11: note: expanded from macro 'BODY' 2026-05-29T04:25:29.414680Z 01O 936 | if (slen==1) { \ 2026-05-29T04:25:29.414681Z 01O | ^~~~ 2026-05-29T04:25:29.414685Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-05-29T04:25:29.414685Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-29T04:25:29.414686Z 01O | ^ 2026-05-29T04:25:29.414686Z 01O /builds/Rdatatable/data.table/src/assign.c:936:7: note: expanded from macro 'BODY' 2026-05-29T04:25:29.414687Z 01O 936 | if (slen==1) { \ 2026-05-29T04:25:29.414687Z 01O | ^ 2026-05-29T04:25:29.414747Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Access of 'source' at an overflowing index, while it holds only a single 'struct SEXPREC *' element 2026-05-29T04:25:29.414748Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-29T04:25:29.414749Z 01O | ^ 2026-05-29T04:25:29.414749Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-05-29T04:25:29.414750Z 01O 937 | const STYPE val = sd[soff]; \ 2026-05-29T04:25:29.414750Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.414878Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2026-05-29T04:25:29.414883Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-05-29T04:25:29.414883Z 01O | ^~~~~ 2026-05-29T04:25:29.414884Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-05-29T04:25:29.414884Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-29T04:25:29.414885Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.414885Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-05-29T04:25:29.414886Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-29T04:25:29.414886Z 01O | ^ 2026-05-29T04:25:29.414886Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-05-29T04:25:29.414887Z 01O 6 | if (chin && chmatchdup) 2026-05-29T04:25:29.414887Z 01O | ^~~~ 2026-05-29T04:25:29.414888Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-05-29T04:25:29.414888Z 01O 6 | if (chin && chmatchdup) 2026-05-29T04:25:29.414889Z 01O | ^ 2026-05-29T04:25:29.414889Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-05-29T04:25:29.414890Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-29T04:25:29.414890Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.414890Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-05-29T04:25:29.414891Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-29T04:25:29.414891Z 01O | ^ 2026-05-29T04:25:29.414892Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-05-29T04:25:29.414892Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-29T04:25:29.414893Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.414893Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-05-29T04:25:29.414894Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-29T04:25:29.414894Z 01O | ^ 2026-05-29T04:25:29.414947Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-05-29T04:25:29.414947Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-05-29T04:25:29.414954Z 01O | ^ 2026-05-29T04:25:29.414955Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-05-29T04:25:29.414955Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-05-29T04:25:29.414956Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-29T04:25:29.414957Z 01O | ^~~~~~~ 2026-05-29T04:25:29.414957Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-05-29T04:25:29.414958Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-29T04:25:29.414958Z 01O | ^ 2026-05-29T04:25:29.414958Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-05-29T04:25:29.414959Z 01O 31 | if (tablelen==0) { 2026-05-29T04:25:29.414959Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.414960Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-05-29T04:25:29.414960Z 01O 31 | if (tablelen==0) { 2026-05-29T04:25:29.414961Z 01O | ^ 2026-05-29T04:25:29.414964Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-05-29T04:25:29.414965Z 01O 40 | if (isSymbol(x)) { 2026-05-29T04:25:29.414965Z 01O | ^ 2026-05-29T04:25:29.414965Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-05-29T04:25:29.414966Z 01O 953 | #define isSymbol Rf_isSymbol 2026-05-29T04:25:29.414966Z 01O | ^ 2026-05-29T04:25:29.414967Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-05-29T04:25:29.414967Z 01O 40 | if (isSymbol(x)) { 2026-05-29T04:25:29.414968Z 01O | ^ 2026-05-29T04:25:29.414968Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-05-29T04:25:29.414969Z 01O 46 | if (xlen==1) { 2026-05-29T04:25:29.414969Z 01O | ^~~~~~~ 2026-05-29T04:25:29.414969Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-05-29T04:25:29.414970Z 01O 46 | if (xlen==1) { 2026-05-29T04:25:29.414970Z 01O | ^ 2026-05-29T04:25:29.415106Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-05-29T04:25:29.415106Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.415107Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.415107Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-29T04:25:29.415108Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-05-29T04:25:29.415108Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.415109Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.415109Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-05-29T04:25:29.415110Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.415110Z 01O | ^ 2026-05-29T04:25:29.415111Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-05-29T04:25:29.415111Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-29T04:25:29.415112Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.415112Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.415113Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-29T04:25:29.415113Z 01O | ^ 2026-05-29T04:25:29.415113Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-05-29T04:25:29.415114Z 01O 66 | if (tl == 0) { 2026-05-29T04:25:29.415114Z 01O | ^~~~~~~ 2026-05-29T04:25:29.415121Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-05-29T04:25:29.415122Z 01O 66 | if (tl == 0) { 2026-05-29T04:25:29.415122Z 01O | ^ 2026-05-29T04:25:29.415123Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-05-29T04:25:29.415123Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-29T04:25:29.415124Z 01O | ^ 2026-05-29T04:25:29.415124Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.415125Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-29T04:25:29.415125Z 01O | ^ 2026-05-29T04:25:29.415131Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: note: Access of 'sym' at index 1, while it holds only a single 'struct SEXPREC *' element 2026-05-29T04:25:29.415132Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-05-29T04:25:29.415132Z 01O | ^~~~~ 2026-05-29T04:25:29.415133Z 01O /builds/Rdatatable/data.table/src/chmatch.c:128:34: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2026-05-29T04:25:29.415133Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-05-29T04:25:29.415134Z 01O | ^~~~~ 2026-05-29T04:25:29.415134Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-05-29T04:25:29.415135Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-29T04:25:29.415135Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.415136Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-05-29T04:25:29.415136Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-29T04:25:29.415137Z 01O | ^ 2026-05-29T04:25:29.415137Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-05-29T04:25:29.415138Z 01O 6 | if (chin && chmatchdup) 2026-05-29T04:25:29.415138Z 01O | ^~~~ 2026-05-29T04:25:29.415138Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-05-29T04:25:29.415139Z 01O 6 | if (chin && chmatchdup) 2026-05-29T04:25:29.415139Z 01O | ^ 2026-05-29T04:25:29.415221Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-05-29T04:25:29.415221Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-29T04:25:29.415222Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.415222Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-05-29T04:25:29.415223Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-29T04:25:29.415223Z 01O | ^ 2026-05-29T04:25:29.415227Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-05-29T04:25:29.415227Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-29T04:25:29.415228Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.415228Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-05-29T04:25:29.415229Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-29T04:25:29.415229Z 01O | ^ 2026-05-29T04:25:29.415233Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-05-29T04:25:29.415233Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-05-29T04:25:29.415234Z 01O | ^ 2026-05-29T04:25:29.415234Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-05-29T04:25:29.415235Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-05-29T04:25:29.415235Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-29T04:25:29.415236Z 01O | ^~~~~~~ 2026-05-29T04:25:29.415240Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-05-29T04:25:29.415241Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-29T04:25:29.415241Z 01O | ^ 2026-05-29T04:25:29.415244Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-05-29T04:25:29.415244Z 01O 31 | if (tablelen==0) { 2026-05-29T04:25:29.415245Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.415245Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-05-29T04:25:29.415246Z 01O 31 | if (tablelen==0) { 2026-05-29T04:25:29.415246Z 01O | ^ 2026-05-29T04:25:29.415248Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-05-29T04:25:29.415249Z 01O 40 | if (isSymbol(x)) { 2026-05-29T04:25:29.415249Z 01O | ^ 2026-05-29T04:25:29.415280Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-05-29T04:25:29.415280Z 01O 953 | #define isSymbol Rf_isSymbol 2026-05-29T04:25:29.415281Z 01O | ^ 2026-05-29T04:25:29.415281Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-05-29T04:25:29.415282Z 01O 40 | if (isSymbol(x)) { 2026-05-29T04:25:29.415282Z 01O | ^ 2026-05-29T04:25:29.415283Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-05-29T04:25:29.415283Z 01O 46 | if (xlen==1) { 2026-05-29T04:25:29.415284Z 01O | ^~~~~~~ 2026-05-29T04:25:29.415284Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-05-29T04:25:29.415284Z 01O 46 | if (xlen==1) { 2026-05-29T04:25:29.415285Z 01O | ^ 2026-05-29T04:25:29.415285Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-05-29T04:25:29.415286Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.415286Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.415287Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-05-29T04:25:29.415287Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.415288Z 01O | ^ 2026-05-29T04:25:29.415288Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-29T04:25:29.415288Z 01O 99 | for (int i=0; i= 'tablelen' 2026-05-29T04:25:29.415415Z 01O 123 | for (int i=0; i= 'tablelen' 2026-05-29T04:25:29.415420Z 01O 125 | for (int i=0; i= 0 2026-05-29T04:25:29.415546Z 01O 129 | if (u<0) { 2026-05-29T04:25:29.415547Z 01O | ^~~ 2026-05-29T04:25:29.415547Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-05-29T04:25:29.415548Z 01O 129 | if (u<0) { 2026-05-29T04:25:29.415548Z 01O | ^ 2026-05-29T04:25:29.415548Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-05-29T04:25:29.415549Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-05-29T04:25:29.415790Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.415790Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-29T04:25:29.415791Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.415791Z 01O | ^ 2026-05-29T04:25:29.415795Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-05-29T04:25:29.415795Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.415796Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.415796Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-05-29T04:25:29.415797Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.415797Z 01O | ^ 2026-05-29T04:25:29.415798Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-29T04:25:29.415798Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-05-29T04:25:29.416082Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.416082Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-29T04:25:29.416085Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-05-29T04:25:29.416086Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.416086Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.416087Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-05-29T04:25:29.416087Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-29T04:25:29.416088Z 01O | ^ 2026-05-29T04:25:29.416088Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-29T04:25:29.416089Z 01O 99 | for (int i=0; i= 0 2026-05-29T04:25:29.416207Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-05-29T04:25:29.416208Z 01O | ^~~ 2026-05-29T04:25:29.416208Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-05-29T04:25:29.416209Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-05-29T04:25:29.416209Z 01O | ^ 2026-05-29T04:25:29.416210Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-05-29T04:25:29.416210Z 01O 144 | for (int i=0; i= 'nlhs' 2026-05-29T04:25:29.416312Z 01O 14 | for (int i=0; i= 'nlhs' 2026-05-29T04:25:29.416520Z 01O 14 | for (int i=0; i= 'nlhs' 2026-05-29T04:25:29.416731Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-05-29T04:25:29.417990Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.417991Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-05-29T04:25:29.417992Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-29T04:25:29.417992Z 01O | ^ 2026-05-29T04:25:29.417992Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.417993Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.417993Z 01O | ^ 2026-05-29T04:25:29.417994Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-05-29T04:25:29.417994Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-29T04:25:29.417995Z 01O | ^ 2026-05-29T04:25:29.417995Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.417996Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.417996Z 01O | ^ 2026-05-29T04:25:29.418018Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-05-29T04:25:29.418019Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-29T04:25:29.418019Z 01O | ^ 2026-05-29T04:25:29.418020Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.418020Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.418021Z 01O | ^ 2026-05-29T04:25:29.418021Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-05-29T04:25:29.418022Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-29T04:25:29.418022Z 01O | ^ 2026-05-29T04:25:29.418023Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-05-29T04:25:29.418023Z 01O 228 | for (int i=0; i= 'ncol' 2026-05-29T04:25:29.418028Z 01O 234 | for (int i=0; i= 'nidx' 2026-05-29T04:25:29.418149Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-05-29T04:25:29.418244Z 01O | ^~~~ 2026-05-29T04:25:29.418244Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-05-29T04:25:29.418245Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-05-29T04:25:29.418245Z 01O | ^ 2026-05-29T04:25:29.418247Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-05-29T04:25:29.418248Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-05-29T04:25:29.418287Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-05-29T04:25:29.419192Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-05-29T04:25:29.419485Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419488Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-05-29T04:25:29.419488Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-05-29T04:25:29.419489Z 01O | ^ 2026-05-29T04:25:29.419489Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-05-29T04:25:29.419490Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-05-29T04:25:29.419490Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419491Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-05-29T04:25:29.419491Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-05-29T04:25:29.419492Z 01O | ^ 2026-05-29T04:25:29.419495Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-05-29T04:25:29.419496Z 01O 326 | if (new_marks != marks) { 2026-05-29T04:25:29.419496Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419497Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-05-29T04:25:29.419497Z 01O 326 | if (new_marks != marks) { 2026-05-29T04:25:29.419498Z 01O | ^ 2026-05-29T04:25:29.419498Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-05-29T04:25:29.419499Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-05-29T04:25:29.419499Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419499Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-05-29T04:25:29.419500Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-05-29T04:25:29.419500Z 01O | ^ 2026-05-29T04:25:29.419505Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-05-29T04:25:29.419505Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-29T04:25:29.419506Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.419506Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-05-29T04:25:29.419507Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-29T04:25:29.419508Z 01O | ^ 2026-05-29T04:25:29.419601Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-05-29T04:25:29.419602Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-05-29T04:25:29.419603Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.419603Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-05-29T04:25:29.419604Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-29T04:25:29.419604Z 01O | ^ 2026-05-29T04:25:29.419605Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-05-29T04:25:29.419605Z 01O 338 | if (!anynotascii) 2026-05-29T04:25:29.419606Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.419606Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-05-29T04:25:29.419611Z 01O 338 | if (!anynotascii) 2026-05-29T04:25:29.419611Z 01O | ^ 2026-05-29T04:25:29.419612Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-05-29T04:25:29.419612Z 01O 340 | if (!IS_UTF8(s)) 2026-05-29T04:25:29.419613Z 01O | ^ 2026-05-29T04:25:29.419613Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-05-29T04:25:29.419614Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-05-29T04:25:29.419614Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419615Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-05-29T04:25:29.419615Z 01O 925 | #define getCharCE Rf_getCharCE 2026-05-29T04:25:29.419616Z 01O | ^ 2026-05-29T04:25:29.419616Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-05-29T04:25:29.419616Z 01O 340 | if (!IS_UTF8(s)) 2026-05-29T04:25:29.419617Z 01O | ^ 2026-05-29T04:25:29.419619Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-05-29T04:25:29.419620Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-05-29T04:25:29.419717Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-05-29T04:25:29.419726Z 01O 364 | for (int i=0; i> 2026-05-29T04:25:29.419978Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419978Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-05-29T04:25:29.419979Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419979Z 01O 43 | 2026-05-29T04:25:29.419980Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-05-29T04:25:29.419980Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419981Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-05-29T04:25:29.419981Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419982Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-05-29T04:25:29.419982Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419982Z 01O 47 | 2026-05-29T04:25:29.419990Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-05-29T04:25:29.419990Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419991Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-05-29T04:25:29.419991Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419992Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-05-29T04:25:29.419993Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419993Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-05-29T04:25:29.419994Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.419994Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-05-29T04:25:29.420001Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420002Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-05-29T04:25:29.420002Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420003Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-05-29T04:25:29.420003Z 01O 1410 | if (freadCleanup()) { 2026-05-29T04:25:29.420004Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.420098Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-05-29T04:25:29.420099Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-29T04:25:29.420099Z 01O | ^~~~ 2026-05-29T04:25:29.420100Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-05-29T04:25:29.420103Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-05-29T04:25:29.420103Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-29T04:25:29.420104Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420104Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-05-29T04:25:29.420105Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-29T04:25:29.420106Z 01O | ^ 2026-05-29T04:25:29.420106Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-05-29T04:25:29.420107Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-29T04:25:29.420107Z 01O | ^~~~ 2026-05-29T04:25:29.420110Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-05-29T04:25:29.420111Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-29T04:25:29.420111Z 01O | ^ 2026-05-29T04:25:29.420112Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-05-29T04:25:29.420112Z 01O 169 | if (mmp != NULL) { 2026-05-29T04:25:29.420113Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.420113Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-05-29T04:25:29.420114Z 01O 169 | if (mmp != NULL) { 2026-05-29T04:25:29.420114Z 01O | ^ 2026-05-29T04:25:29.420115Z 01O /builds/Rdatatable/data.table/src/fread.c:193:15: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-05-29T04:25:29.420115Z 01O 193 | quoteRule = -1; 2026-05-29T04:25:29.420116Z 01O | ^~ 2026-05-29T04:25:29.420119Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2026-05-29T04:25:29.420120Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-05-29T04:25:29.420120Z 01O | ^ ~~ 2026-05-29T04:25:29.420121Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-05-29T04:25:29.420121Z 01O 1410 | if (freadCleanup()) { 2026-05-29T04:25:29.420122Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.420122Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-05-29T04:25:29.420123Z 01O 1410 | if (freadCleanup()) { 2026-05-29T04:25:29.420123Z 01O | ^ 2026-05-29T04:25:29.420216Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.420217Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-29T04:25:29.420217Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420218Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-05-29T04:25:29.420222Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-29T04:25:29.420223Z 01O | ^ 2026-05-29T04:25:29.420223Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-05-29T04:25:29.420224Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-29T04:25:29.420224Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.420225Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-05-29T04:25:29.420225Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-29T04:25:29.420226Z 01O | ^ 2026-05-29T04:25:29.420228Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-05-29T04:25:29.420229Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-29T04:25:29.420229Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.420230Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-05-29T04:25:29.420230Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-29T04:25:29.420231Z 01O | ^ 2026-05-29T04:25:29.420231Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-05-29T04:25:29.420232Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-29T04:25:29.420232Z 01O | ^~~ 2026-05-29T04:25:29.420235Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-05-29T04:25:29.420235Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-29T04:25:29.420236Z 01O | ^ 2026-05-29T04:25:29.420236Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-05-29T04:25:29.420237Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-29T04:25:29.420237Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420241Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-05-29T04:25:29.420242Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-29T04:25:29.420242Z 01O | ^ 2026-05-29T04:25:29.420243Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-05-29T04:25:29.420243Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-29T04:25:29.420244Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420353Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-05-29T04:25:29.420353Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-29T04:25:29.420354Z 01O | ^ 2026-05-29T04:25:29.420355Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-05-29T04:25:29.420355Z 01O 1436 | while (*nastr) { 2026-05-29T04:25:29.420356Z 01O | ^ 2026-05-29T04:25:29.420356Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-05-29T04:25:29.420356Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-05-29T04:25:29.420357Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420360Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-05-29T04:25:29.420360Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-05-29T04:25:29.420361Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420361Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-05-29T04:25:29.420362Z 01O 1464 | if (verbose) { 2026-05-29T04:25:29.420362Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420364Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-05-29T04:25:29.420365Z 01O 1464 | if (verbose) { 2026-05-29T04:25:29.420369Z 01O | ^ 2026-05-29T04:25:29.420373Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-05-29T04:25:29.420374Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-05-29T04:25:29.420374Z 01O | ^ 2026-05-29T04:25:29.420375Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-05-29T04:25:29.420375Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-29T04:25:29.420376Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420378Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-05-29T04:25:29.420379Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-29T04:25:29.420379Z 01O | ^ 2026-05-29T04:25:29.420382Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-05-29T04:25:29.420382Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-29T04:25:29.420383Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420478Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-05-29T04:25:29.420479Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-29T04:25:29.420480Z 01O | ^ 2026-05-29T04:25:29.420480Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-05-29T04:25:29.420481Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-29T04:25:29.420481Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.420482Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-05-29T04:25:29.420482Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-29T04:25:29.420483Z 01O | ^ 2026-05-29T04:25:29.420483Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-05-29T04:25:29.420484Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-29T04:25:29.420484Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420485Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-05-29T04:25:29.420485Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-29T04:25:29.420486Z 01O | ^ 2026-05-29T04:25:29.420486Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-05-29T04:25:29.420487Z 01O 1515 | if (args.input) { 2026-05-29T04:25:29.420487Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.420487Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-05-29T04:25:29.420488Z 01O 1515 | if (args.input) { 2026-05-29T04:25:29.420488Z 01O | ^ 2026-05-29T04:25:29.420491Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-05-29T04:25:29.420492Z 01O 1522 | else if (args.filename) { 2026-05-29T04:25:29.420492Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.420492Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-05-29T04:25:29.420493Z 01O 1522 | else if (args.filename) { 2026-05-29T04:25:29.420493Z 01O | ^ 2026-05-29T04:25:29.420496Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-05-29T04:25:29.420497Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-05-29T04:25:29.420497Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420498Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-05-29T04:25:29.420503Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-05-29T04:25:29.420503Z 01O | ^ 2026-05-29T04:25:29.420506Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-05-29T04:25:29.420506Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-05-29T04:25:29.420507Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420507Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-05-29T04:25:29.420508Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-05-29T04:25:29.420508Z 01O | ^~~~~~ 2026-05-29T04:25:29.420610Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-05-29T04:25:29.420610Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-05-29T04:25:29.420611Z 01O | ^ 2026-05-29T04:25:29.420611Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-05-29T04:25:29.420612Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-05-29T04:25:29.420612Z 01O | ^ ~~ 2026-05-29T04:25:29.420613Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.420613Z 01O 1780 | pos = ch; 2026-05-29T04:25:29.420614Z 01O | ^ ~~ 2026-05-29T04:25:29.420614Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-05-29T04:25:29.420615Z 01O 1780 | pos = ch; 2026-05-29T04:25:29.420615Z 01O | ^ ~~ 2026-05-29T04:25:29.420618Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: warning: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' [clang-analyzer-optin.core.EnumCastOutOfRange] 2026-05-29T04:25:29.420619Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-05-29T04:25:29.420619Z 01O | ^~ 2026-05-29T04:25:29.420675Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-05-29T04:25:29.420676Z 01O 38 | enum quote_rule_t 2026-05-29T04:25:29.420677Z 01O | ~~~~~^~~~~~~~~~~~ 2026-05-29T04:25:29.420677Z 01O 39 | { 2026-05-29T04:25:29.420677Z 01O | ~ 2026-05-29T04:25:29.420678Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-05-29T04:25:29.420678Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420679Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-05-29T04:25:29.420679Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420680Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-05-29T04:25:29.420680Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420681Z 01O 43 | 2026-05-29T04:25:29.420681Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-05-29T04:25:29.420685Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420685Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-05-29T04:25:29.420686Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420686Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-05-29T04:25:29.420687Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420687Z 01O 47 | 2026-05-29T04:25:29.420687Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-05-29T04:25:29.420688Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420689Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-05-29T04:25:29.420689Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420695Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-05-29T04:25:29.420695Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420696Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-05-29T04:25:29.420696Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420697Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-05-29T04:25:29.420697Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420698Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-05-29T04:25:29.420698Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420699Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-05-29T04:25:29.420700Z 01O 1410 | if (freadCleanup()) { 2026-05-29T04:25:29.420700Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.420700Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-05-29T04:25:29.420701Z 01O 1410 | if (freadCleanup()) { 2026-05-29T04:25:29.420701Z 01O | ^ 2026-05-29T04:25:29.420702Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.420702Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-29T04:25:29.420703Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420703Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-05-29T04:25:29.420703Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-29T04:25:29.420704Z 01O | ^ 2026-05-29T04:25:29.420729Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-05-29T04:25:29.420730Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-29T04:25:29.420730Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.420731Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-05-29T04:25:29.420731Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-29T04:25:29.420732Z 01O | ^ 2026-05-29T04:25:29.420732Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-05-29T04:25:29.420732Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-29T04:25:29.420733Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.420741Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-05-29T04:25:29.420742Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-29T04:25:29.420742Z 01O | ^ 2026-05-29T04:25:29.420743Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-05-29T04:25:29.420743Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-29T04:25:29.420744Z 01O | ^~~ 2026-05-29T04:25:29.420744Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-05-29T04:25:29.420745Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-29T04:25:29.420745Z 01O | ^ 2026-05-29T04:25:29.420745Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-05-29T04:25:29.420746Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-29T04:25:29.420747Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420747Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-05-29T04:25:29.420747Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-29T04:25:29.420748Z 01O | ^ 2026-05-29T04:25:29.420800Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-05-29T04:25:29.420801Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-29T04:25:29.420806Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420806Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-05-29T04:25:29.420807Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-29T04:25:29.420807Z 01O | ^ 2026-05-29T04:25:29.420808Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-05-29T04:25:29.420808Z 01O 1436 | while (*nastr) { 2026-05-29T04:25:29.420809Z 01O | ^ 2026-05-29T04:25:29.420812Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-05-29T04:25:29.420812Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-05-29T04:25:29.420813Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420820Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-05-29T04:25:29.420821Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-05-29T04:25:29.420822Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420822Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-05-29T04:25:29.420823Z 01O 1464 | if (verbose) { 2026-05-29T04:25:29.420823Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420823Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-05-29T04:25:29.420824Z 01O 1464 | if (verbose) { 2026-05-29T04:25:29.420824Z 01O | ^ 2026-05-29T04:25:29.420825Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-05-29T04:25:29.420825Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-05-29T04:25:29.420826Z 01O | ^ 2026-05-29T04:25:29.420828Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-05-29T04:25:29.420829Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-29T04:25:29.420830Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420855Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-05-29T04:25:29.420855Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-29T04:25:29.420856Z 01O | ^ 2026-05-29T04:25:29.420936Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-05-29T04:25:29.420936Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-29T04:25:29.420937Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.420937Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-05-29T04:25:29.420938Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-29T04:25:29.420938Z 01O | ^ 2026-05-29T04:25:29.420939Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-05-29T04:25:29.420939Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-29T04:25:29.420940Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.420940Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-05-29T04:25:29.420941Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-29T04:25:29.420941Z 01O | ^ 2026-05-29T04:25:29.420944Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-05-29T04:25:29.420949Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-29T04:25:29.420950Z 01O | ^~~~~~~ 2026-05-29T04:25:29.420950Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-05-29T04:25:29.420950Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-29T04:25:29.420951Z 01O | ^ 2026-05-29T04:25:29.420974Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-05-29T04:25:29.420975Z 01O 1515 | if (args.input) { 2026-05-29T04:25:29.420976Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.420976Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-05-29T04:25:29.420976Z 01O 1515 | if (args.input) { 2026-05-29T04:25:29.420977Z 01O | ^ 2026-05-29T04:25:29.420977Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-05-29T04:25:29.420978Z 01O 1522 | else if (args.filename) { 2026-05-29T04:25:29.420978Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.420979Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-05-29T04:25:29.420979Z 01O 1522 | else if (args.filename) { 2026-05-29T04:25:29.420980Z 01O | ^ 2026-05-29T04:25:29.420980Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-05-29T04:25:29.420981Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-05-29T04:25:29.420981Z 01O | ^ 2026-05-29T04:25:29.421040Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-05-29T04:25:29.421041Z 01O 18 | #define INTERNAL_STOP(...) do {snprintf(internal_error_buff, sizeof(internal_error_buff), __VA_ARGS__); halt__(0, "%s %s: %s. %s", _("Internal error in"), __func__, internal_error_buff, _("Please report to the data.table issues tracker"));} while (0) 2026-05-29T04:25:29.421042Z 01O | ^ 2026-05-29T04:25:29.421043Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-05-29T04:25:29.421043Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-05-29T04:25:29.421044Z 01O | ^~~~~~~ 2026-05-29T04:25:29.421045Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-05-29T04:25:29.421046Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-05-29T04:25:29.421047Z 01O | ^ 2026-05-29T04:25:29.421088Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-05-29T04:25:29.421088Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-05-29T04:25:29.421089Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.421089Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-05-29T04:25:29.421090Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-05-29T04:25:29.421090Z 01O | ^ 2026-05-29T04:25:29.421091Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-05-29T04:25:29.421091Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-05-29T04:25:29.421092Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.421159Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-05-29T04:25:29.421159Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-05-29T04:25:29.421160Z 01O | ^ 2026-05-29T04:25:29.421160Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-05-29T04:25:29.421161Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-05-29T04:25:29.421161Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.421162Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-05-29T04:25:29.421168Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-05-29T04:25:29.421169Z 01O | ^ 2026-05-29T04:25:29.421172Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-05-29T04:25:29.421173Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-05-29T04:25:29.421174Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.421174Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-05-29T04:25:29.421174Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-05-29T04:25:29.421175Z 01O | ^ 2026-05-29T04:25:29.421175Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-05-29T04:25:29.421176Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-05-29T04:25:29.421177Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.421193Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-05-29T04:25:29.421194Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-05-29T04:25:29.421194Z 01O | ^ 2026-05-29T04:25:29.421210Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-05-29T04:25:29.421211Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-05-29T04:25:29.421211Z 01O | ^~~~~~~ 2026-05-29T04:25:29.421285Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-05-29T04:25:29.421286Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-05-29T04:25:29.421287Z 01O | ^ 2026-05-29T04:25:29.421287Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-05-29T04:25:29.421287Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-05-29T04:25:29.421288Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421289Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-05-29T04:25:29.421289Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-05-29T04:25:29.421290Z 01O | ^ 2026-05-29T04:25:29.421290Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-05-29T04:25:29.421291Z 01O 1649 | while (ch < sample_end) { 2026-05-29T04:25:29.421291Z 01O | ^ 2026-05-29T04:25:29.421291Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-05-29T04:25:29.421292Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-05-29T04:25:29.421292Z 01O | ^~~~~~~ 2026-05-29T04:25:29.421293Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-05-29T04:25:29.421293Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-05-29T04:25:29.421294Z 01O | ^ 2026-05-29T04:25:29.421294Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-05-29T04:25:29.421295Z 01O 1674 | if (args.filename) { 2026-05-29T04:25:29.421295Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.421297Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-05-29T04:25:29.421298Z 01O 1674 | if (args.filename) { 2026-05-29T04:25:29.421298Z 01O | ^ 2026-05-29T04:25:29.421315Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-05-29T04:25:29.421316Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-05-29T04:25:29.421316Z 01O | ^~~~~~~ 2026-05-29T04:25:29.421317Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-05-29T04:25:29.421322Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-05-29T04:25:29.421322Z 01O | ^ 2026-05-29T04:25:29.421323Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-05-29T04:25:29.421323Z 01O 1752 | if (args.skipString) { 2026-05-29T04:25:29.421324Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421324Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-05-29T04:25:29.421325Z 01O 1752 | if (args.skipString) { 2026-05-29T04:25:29.421325Z 01O | ^ 2026-05-29T04:25:29.421366Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-05-29T04:25:29.421367Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-05-29T04:25:29.421367Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421367Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-05-29T04:25:29.421368Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-05-29T04:25:29.421368Z 01O | ^ 2026-05-29T04:25:29.421369Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-05-29T04:25:29.421369Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-05-29T04:25:29.421370Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.421370Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-05-29T04:25:29.421371Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-05-29T04:25:29.421372Z 01O | ^ 2026-05-29T04:25:29.421452Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-05-29T04:25:29.421453Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-05-29T04:25:29.421453Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.421454Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-05-29T04:25:29.421454Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-05-29T04:25:29.421455Z 01O | ^ 2026-05-29T04:25:29.421455Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-05-29T04:25:29.421456Z 01O 1789 | if (verbose) { 2026-05-29T04:25:29.421456Z 01O | ^~~~~~~ 2026-05-29T04:25:29.421457Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-05-29T04:25:29.421457Z 01O 1789 | if (verbose) { 2026-05-29T04:25:29.421457Z 01O | ^ 2026-05-29T04:25:29.421513Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-05-29T04:25:29.421514Z 01O 1807 | int jumpLines = nrowLimit == 0 ? 100 : (int)umin(100, nrowLimit); // how many lines from each jump point to use. If nrows>0 is supplied, nJumps is later set to 1. #4029 2026-05-29T04:25:29.421515Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.421515Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-05-29T04:25:29.421516Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-05-29T04:25:29.421516Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-05-29T04:25:29.421517Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421517Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-05-29T04:25:29.421518Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-05-29T04:25:29.421519Z 01O | ^ 2026-05-29T04:25:29.421524Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-05-29T04:25:29.421524Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-05-29T04:25:29.421525Z 01O | ^~~~~~~ 2026-05-29T04:25:29.421525Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-05-29T04:25:29.421526Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-05-29T04:25:29.421526Z 01O | ^ 2026-05-29T04:25:29.421581Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-05-29T04:25:29.421582Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-05-29T04:25:29.421583Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421583Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-05-29T04:25:29.421584Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-05-29T04:25:29.421584Z 01O | ^ 2026-05-29T04:25:29.421588Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-05-29T04:25:29.421589Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-05-29T04:25:29.421589Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.421590Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-05-29T04:25:29.421590Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-05-29T04:25:29.421591Z 01O 1836 | if (args.sep == '\0') { 2026-05-29T04:25:29.421591Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421592Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-05-29T04:25:29.421592Z 01O 1836 | if (args.sep == '\0') { 2026-05-29T04:25:29.421593Z 01O | ^ 2026-05-29T04:25:29.421635Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-05-29T04:25:29.421636Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-05-29T04:25:29.421636Z 01O | ^~~~~~~ 2026-05-29T04:25:29.421637Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-05-29T04:25:29.421637Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-05-29T04:25:29.421638Z 01O | ^ 2026-05-29T04:25:29.421638Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-05-29T04:25:29.421639Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-05-29T04:25:29.421639Z 01O | ^~ 2026-05-29T04:25:29.421687Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.421688Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-05-29T04:25:29.421689Z 01O | ^~~~~~~~~~~~~ ~~ 2026-05-29T04:25:29.421689Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-05-29T04:25:29.421690Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-05-29T04:25:29.421691Z 01O | ^~~~~~~~~~~~~ ~~ 2026-05-29T04:25:29.421691Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.421692Z 01O 2278 | estnrow = 1; 2026-05-29T04:25:29.421692Z 01O | ^ ~ 2026-05-29T04:25:29.421692Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-05-29T04:25:29.421698Z 01O 2278 | estnrow = 1; 2026-05-29T04:25:29.421699Z 01O | ^ ~ 2026-05-29T04:25:29.421699Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.421700Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-05-29T04:25:29.421700Z 01O | ^ ~ 2026-05-29T04:25:29.421757Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-05-29T04:25:29.421758Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-05-29T04:25:29.421759Z 01O | ^ ~ 2026-05-29T04:25:29.421759Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.421760Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-05-29T04:25:29.421760Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421764Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-05-29T04:25:29.421764Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-05-29T04:25:29.421765Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421765Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.421766Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-05-29T04:25:29.421766Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421767Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-05-29T04:25:29.421767Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-05-29T04:25:29.421768Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421768Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.421769Z 01O 2487 | nth = imin(nJumps, nth); 2026-05-29T04:25:29.421769Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421770Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-05-29T04:25:29.421770Z 01O 2487 | nth = imin(nJumps, nth); 2026-05-29T04:25:29.421771Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421794Z 01O /builds/Rdatatable/data.table/src/fread.c:2743:21: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-05-29T04:25:29.421796Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-05-29T04:25:29.421796Z 01O | ^~~~~~ 2026-05-29T04:25:29.421803Z 01O /builds/Rdatatable/data.table/src/fread.c:2743:21: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-05-29T04:25:29.421804Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-05-29T04:25:29.421805Z 01O | ^~~~~~ 2026-05-29T04:25:29.421878Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.421879Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-05-29T04:25:29.421879Z 01O | ^ ~~~ 2026-05-29T04:25:29.421880Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: note: Value stored to 'tLast' is never read 2026-05-29T04:25:29.421880Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-05-29T04:25:29.421887Z 01O | ^ ~~~ 2026-05-29T04:25:29.421941Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: warning: Array access (via field 'buffer') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.421942Z 01O 789 | if (state->buffer[i] == '\n') { 2026-05-29T04:25:29.421943Z 01O | ^ ~~~~~~ 2026-05-29T04:25:29.421943Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-05-29T04:25:29.421944Z 01O 768 | if (state->outfile == NULL) { 2026-05-29T04:25:29.421944Z 01O | ^ 2026-05-29T04:25:29.421945Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-05-29T04:25:29.421945Z 01O 768 | if (state->outfile == NULL) { 2026-05-29T04:25:29.421946Z 01O | ^ 2026-05-29T04:25:29.421946Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-05-29T04:25:29.421946Z 01O 772 | state->buffer = malloc(chunk_size); 2026-05-29T04:25:29.421947Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.421947Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-05-29T04:25:29.421948Z 01O 773 | if (!state->buffer) { 2026-05-29T04:25:29.421948Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.421949Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-05-29T04:25:29.421949Z 01O 773 | if (!state->buffer) { 2026-05-29T04:25:29.421950Z 01O | ^ 2026-05-29T04:25:29.422000Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-05-29T04:25:29.422001Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-29T04:25:29.422001Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422002Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.422002Z 01O 780 | while (true) { 2026-05-29T04:25:29.422003Z 01O | ^ 2026-05-29T04:25:29.422003Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-29T04:25:29.422003Z 01O 782 | if (nread == 0) { 2026-05-29T04:25:29.422004Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.422006Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-29T04:25:29.422006Z 01O 782 | if (nread == 0) { 2026-05-29T04:25:29.422007Z 01O | ^ 2026-05-29T04:25:29.422036Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-05-29T04:25:29.422036Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-29T04:25:29.422037Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.422037Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-05-29T04:25:29.422038Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-05-29T04:25:29.422038Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-29T04:25:29.422039Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.422039Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-05-29T04:25:29.422040Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-29T04:25:29.422040Z 01O | ^ 2026-05-29T04:25:29.422041Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-05-29T04:25:29.422041Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-05-29T04:25:29.422042Z 01O | ^ 2026-05-29T04:25:29.422042Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.422049Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-05-29T04:25:29.422049Z 01O | ^ 2026-05-29T04:25:29.422068Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-05-29T04:25:29.422069Z 01O 789 | if (state->buffer[i] == '\n') { 2026-05-29T04:25:29.422069Z 01O | ^ ~~~~~~ 2026-05-29T04:25:29.422070Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-05-29T04:25:29.422071Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-29T04:25:29.422071Z 01O | ^ ~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422072Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-05-29T04:25:29.422072Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-29T04:25:29.422073Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422073Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-05-29T04:25:29.422074Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-29T04:25:29.422074Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422119Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-05-29T04:25:29.422120Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-29T04:25:29.422121Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422121Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-05-29T04:25:29.422122Z 01O 768 | if (state->outfile == NULL) { 2026-05-29T04:25:29.422122Z 01O | ^ 2026-05-29T04:25:29.422123Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-05-29T04:25:29.422123Z 01O 768 | if (state->outfile == NULL) { 2026-05-29T04:25:29.422123Z 01O | ^ 2026-05-29T04:25:29.422124Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-05-29T04:25:29.422124Z 01O 773 | if (!state->buffer) { 2026-05-29T04:25:29.422125Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.422127Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-05-29T04:25:29.422127Z 01O 773 | if (!state->buffer) { 2026-05-29T04:25:29.422128Z 01O | ^ 2026-05-29T04:25:29.422130Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-05-29T04:25:29.422131Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-29T04:25:29.422131Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422132Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.422132Z 01O 780 | while (true) { 2026-05-29T04:25:29.422133Z 01O | ^ 2026-05-29T04:25:29.422138Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-29T04:25:29.422139Z 01O 782 | if (nread == 0) { 2026-05-29T04:25:29.422139Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.422254Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-29T04:25:29.422255Z 01O 782 | if (nread == 0) { 2026-05-29T04:25:29.422255Z 01O | ^ 2026-05-29T04:25:29.422255Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-05-29T04:25:29.422256Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-29T04:25:29.422256Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.422257Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-05-29T04:25:29.422257Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-29T04:25:29.422262Z 01O | ^ 2026-05-29T04:25:29.422263Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-05-29T04:25:29.422263Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-29T04:25:29.422264Z 01O | ^ ~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422271Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: The 1st argument to 'fwrite' is NULL but should not be NULL [clang-analyzer-unix.StdCLibraryFunctions] 2026-05-29T04:25:29.422272Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-29T04:25:29.422272Z 01O | ^ ~~~~~~~~~~~~~ 2026-05-29T04:25:29.422273Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-05-29T04:25:29.422273Z 01O 768 | if (state->outfile == NULL) { 2026-05-29T04:25:29.422274Z 01O | ^ 2026-05-29T04:25:29.422276Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-05-29T04:25:29.422276Z 01O 768 | if (state->outfile == NULL) { 2026-05-29T04:25:29.422277Z 01O | ^ 2026-05-29T04:25:29.422279Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-05-29T04:25:29.422279Z 01O 772 | state->buffer = malloc(chunk_size); 2026-05-29T04:25:29.422280Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422282Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-05-29T04:25:29.422283Z 01O 773 | if (!state->buffer) { 2026-05-29T04:25:29.422283Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.422284Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-05-29T04:25:29.422284Z 01O 773 | if (!state->buffer) { 2026-05-29T04:25:29.422285Z 01O | ^ 2026-05-29T04:25:29.422386Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-05-29T04:25:29.422387Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-29T04:25:29.422387Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.422388Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.422388Z 01O 780 | while (true) { 2026-05-29T04:25:29.422389Z 01O | ^ 2026-05-29T04:25:29.422389Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-29T04:25:29.422390Z 01O 782 | if (nread == 0) { 2026-05-29T04:25:29.422390Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.422391Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-29T04:25:29.422391Z 01O 782 | if (nread == 0) { 2026-05-29T04:25:29.422391Z 01O | ^ 2026-05-29T04:25:29.422392Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-05-29T04:25:29.422392Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-29T04:25:29.422393Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.422393Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-05-29T04:25:29.422394Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-29T04:25:29.422394Z 01O | ^ 2026-05-29T04:25:29.422395Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-05-29T04:25:29.422395Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-29T04:25:29.422396Z 01O | ^ ~~~~~~~~~~~~~ 2026-05-29T04:25:29.422440Z 01O /builds/Rdatatable/data.table/src/froll.c:1364:3: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-05-29T04:25:29.422446Z 01O 1364 | next[p] = tail; 2026-05-29T04:25:29.422446Z 01O | ^ 2026-05-29T04:25:29.422446Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.422447Z 01O 1506 | if (verbose) 2026-05-29T04:25:29.422447Z 01O | ^~~~~~~ 2026-05-29T04:25:29.422448Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-29T04:25:29.422448Z 01O 1506 | if (verbose) 2026-05-29T04:25:29.422449Z 01O | ^ 2026-05-29T04:25:29.422449Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-05-29T04:25:29.422449Z 01O 1508 | if (k == 0) { 2026-05-29T04:25:29.422450Z 01O | ^~~~~~ 2026-05-29T04:25:29.422450Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-05-29T04:25:29.422451Z 01O 1508 | if (k == 0) { 2026-05-29T04:25:29.422451Z 01O | ^ 2026-05-29T04:25:29.422451Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-05-29T04:25:29.422452Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.422453Z 01O | ^~~~~~ 2026-05-29T04:25:29.422453Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-05-29T04:25:29.422453Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-05-29T04:25:29.422454Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.422455Z 01O | ^~~~~~ 2026-05-29T04:25:29.422517Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-05-29T04:25:29.422518Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.422519Z 01O | ^ 2026-05-29T04:25:29.422519Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-05-29T04:25:29.422519Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.422520Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.422522Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-05-29T04:25:29.422523Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.422523Z 01O | ^ 2026-05-29T04:25:29.422523Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-05-29T04:25:29.422524Z 01O 1567 | if (nx_mod_k) { 2026-05-29T04:25:29.422524Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.422526Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-05-29T04:25:29.422527Z 01O 1567 | if (nx_mod_k) { 2026-05-29T04:25:29.422527Z 01O | ^ 2026-05-29T04:25:29.422529Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-05-29T04:25:29.422530Z 01O 1574 | bool even = !(k % 2); 2026-05-29T04:25:29.422530Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.422616Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-05-29T04:25:29.422617Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-05-29T04:25:29.422618Z 01O | ^~~~ 2026-05-29T04:25:29.422618Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-05-29T04:25:29.422618Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-05-29T04:25:29.422619Z 01O 1579 | if (!o) { // # nocov start 2026-05-29T04:25:29.422619Z 01O | ^~ 2026-05-29T04:25:29.422620Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-05-29T04:25:29.422620Z 01O 1579 | if (!o) { // # nocov start 2026-05-29T04:25:29.422621Z 01O | ^ 2026-05-29T04:25:29.422621Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-05-29T04:25:29.422626Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-29T04:25:29.422627Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.422627Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-05-29T04:25:29.422628Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-29T04:25:29.422628Z 01O | ^ 2026-05-29T04:25:29.422629Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-05-29T04:25:29.422629Z 01O 1588 | if (!m) { // # nocov start 2026-05-29T04:25:29.422629Z 01O | ^~ 2026-05-29T04:25:29.422630Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-05-29T04:25:29.422630Z 01O 1588 | if (!m) { // # nocov start 2026-05-29T04:25:29.422631Z 01O | ^ 2026-05-29T04:25:29.422631Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-05-29T04:25:29.422632Z 01O 1594 | if (!n) { // # nocov start 2026-05-29T04:25:29.422632Z 01O | ^~ 2026-05-29T04:25:29.422655Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-05-29T04:25:29.422656Z 01O 1594 | if (!n) { // # nocov start 2026-05-29T04:25:29.422656Z 01O | ^ 2026-05-29T04:25:29.422657Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-05-29T04:25:29.422657Z 01O 1600 | if (!s) { // # nocov start 2026-05-29T04:25:29.422658Z 01O | ^~ 2026-05-29T04:25:29.422658Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-05-29T04:25:29.422659Z 01O 1600 | if (!s) { // # nocov start 2026-05-29T04:25:29.422659Z 01O | ^ 2026-05-29T04:25:29.422659Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-05-29T04:25:29.422660Z 01O 1606 | if (!prev) { // # nocov start 2026-05-29T04:25:29.422660Z 01O | ^~~~~ 2026-05-29T04:25:29.422661Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-05-29T04:25:29.422661Z 01O 1606 | if (!prev) { // # nocov start 2026-05-29T04:25:29.422662Z 01O | ^ 2026-05-29T04:25:29.422664Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-05-29T04:25:29.422665Z 01O 1612 | if (!next) { // # nocov start 2026-05-29T04:25:29.422665Z 01O | ^~~~~ 2026-05-29T04:25:29.422666Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-05-29T04:25:29.422666Z 01O 1612 | if (!next) { // # nocov start 2026-05-29T04:25:29.422667Z 01O | ^ 2026-05-29T04:25:29.422667Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-05-29T04:25:29.422668Z 01O 1618 | if (verbose) 2026-05-29T04:25:29.422668Z 01O | ^~~~~~~ 2026-05-29T04:25:29.422668Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-05-29T04:25:29.422669Z 01O 1618 | if (verbose) 2026-05-29T04:25:29.422669Z 01O | ^ 2026-05-29T04:25:29.422705Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-05-29T04:25:29.422706Z 01O 1621 | for (int j=0; j= 'k' 2026-05-29T04:25:29.422780Z 01O 1358 | for (int i=0; i=0) { 2026-05-29T04:25:29.422942Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.422942Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-05-29T04:25:29.422943Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.422943Z 01O | ^ 2026-05-29T04:25:29.422943Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-05-29T04:25:29.422944Z 01O 1567 | if (nx_mod_k) { 2026-05-29T04:25:29.422944Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.422945Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-05-29T04:25:29.422945Z 01O 1567 | if (nx_mod_k) { 2026-05-29T04:25:29.422945Z 01O | ^ 2026-05-29T04:25:29.422946Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-05-29T04:25:29.422946Z 01O 1574 | bool even = !(k % 2); 2026-05-29T04:25:29.422947Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.422947Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-05-29T04:25:29.422948Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-05-29T04:25:29.422948Z 01O | ^~~~ 2026-05-29T04:25:29.422948Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-05-29T04:25:29.422949Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-05-29T04:25:29.422949Z 01O 1579 | if (!o) { // # nocov start 2026-05-29T04:25:29.422950Z 01O | ^~ 2026-05-29T04:25:29.422950Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-05-29T04:25:29.422951Z 01O 1579 | if (!o) { // # nocov start 2026-05-29T04:25:29.422951Z 01O | ^ 2026-05-29T04:25:29.422982Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-05-29T04:25:29.422982Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-29T04:25:29.422990Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.422994Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-05-29T04:25:29.422995Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-29T04:25:29.422995Z 01O | ^ 2026-05-29T04:25:29.422995Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-05-29T04:25:29.422996Z 01O 1588 | if (!m) { // # nocov start 2026-05-29T04:25:29.422996Z 01O | ^~ 2026-05-29T04:25:29.422997Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-05-29T04:25:29.422997Z 01O 1588 | if (!m) { // # nocov start 2026-05-29T04:25:29.422998Z 01O | ^ 2026-05-29T04:25:29.422998Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-05-29T04:25:29.422999Z 01O 1594 | if (!n) { // # nocov start 2026-05-29T04:25:29.422999Z 01O | ^~ 2026-05-29T04:25:29.422999Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-05-29T04:25:29.423000Z 01O 1594 | if (!n) { // # nocov start 2026-05-29T04:25:29.423000Z 01O | ^ 2026-05-29T04:25:29.423001Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-05-29T04:25:29.423001Z 01O 1600 | if (!s) { // # nocov start 2026-05-29T04:25:29.423002Z 01O | ^~ 2026-05-29T04:25:29.423002Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-05-29T04:25:29.423002Z 01O 1600 | if (!s) { // # nocov start 2026-05-29T04:25:29.423009Z 01O | ^ 2026-05-29T04:25:29.423011Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-05-29T04:25:29.423012Z 01O 1606 | if (!prev) { // # nocov start 2026-05-29T04:25:29.423012Z 01O | ^~~~~ 2026-05-29T04:25:29.423013Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-05-29T04:25:29.423013Z 01O 1606 | if (!prev) { // # nocov start 2026-05-29T04:25:29.423014Z 01O | ^ 2026-05-29T04:25:29.423033Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-05-29T04:25:29.423034Z 01O 1612 | if (!next) { // # nocov start 2026-05-29T04:25:29.423034Z 01O | ^~~~~ 2026-05-29T04:25:29.423034Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-05-29T04:25:29.423035Z 01O 1612 | if (!next) { // # nocov start 2026-05-29T04:25:29.423035Z 01O | ^ 2026-05-29T04:25:29.423036Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-05-29T04:25:29.423036Z 01O 1618 | if (verbose) 2026-05-29T04:25:29.423037Z 01O | ^~~~~~~ 2026-05-29T04:25:29.423037Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-05-29T04:25:29.423038Z 01O 1618 | if (verbose) 2026-05-29T04:25:29.423038Z 01O | ^ 2026-05-29T04:25:29.423047Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-05-29T04:25:29.423048Z 01O 1621 | for (int j=0; j= 'b' 2026-05-29T04:25:29.423256Z 01O 1621 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2026-05-29T04:25:29.423268Z 01O | ^~~ 2026-05-29T04:25:29.423268Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-05-29T04:25:29.423269Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.423269Z 01O 1633 | for (int i=0; i= 'm' 2026-05-29T04:25:29.423625Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-05-29T04:25:29.423625Z 01O | ^~~~~ 2026-05-29T04:25:29.423626Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-05-29T04:25:29.423627Z 01O 1393 | if (SMALL(i)) { 2026-05-29T04:25:29.423627Z 01O | ^ 2026-05-29T04:25:29.423629Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-05-29T04:25:29.423630Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-05-29T04:25:29.423630Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.423631Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-05-29T04:25:29.423631Z 01O 1393 | if (SMALL(i)) { 2026-05-29T04:25:29.423631Z 01O | ^ 2026-05-29T04:25:29.423732Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-05-29T04:25:29.423733Z 01O 1396 | if (m[0] == i) { 2026-05-29T04:25:29.423733Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.423734Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-05-29T04:25:29.423734Z 01O 1396 | if (m[0] == i) { 2026-05-29T04:25:29.423735Z 01O | ^ 2026-05-29T04:25:29.423735Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-05-29T04:25:29.423735Z 01O 1399 | if (s[0] > 0) { 2026-05-29T04:25:29.423736Z 01O | ^ 2026-05-29T04:25:29.423740Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-05-29T04:25:29.423741Z 01O 1400 | m[0] = prev[m[0]]; 2026-05-29T04:25:29.423747Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.423748Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-05-29T04:25:29.423749Z 01O 1471 | m[0] = prev[m[0]]; 2026-05-29T04:25:29.423749Z 01O | ^ 2026-05-29T04:25:29.423749Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.423750Z 01O 1506 | if (verbose) 2026-05-29T04:25:29.423750Z 01O | ^~~~~~~ 2026-05-29T04:25:29.423751Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-29T04:25:29.423751Z 01O 1506 | if (verbose) 2026-05-29T04:25:29.423752Z 01O | ^ 2026-05-29T04:25:29.423752Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-05-29T04:25:29.423752Z 01O 1508 | if (k == 0) { 2026-05-29T04:25:29.423753Z 01O | ^~~~~~ 2026-05-29T04:25:29.423753Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-05-29T04:25:29.423754Z 01O 1508 | if (k == 0) { 2026-05-29T04:25:29.423754Z 01O | ^ 2026-05-29T04:25:29.423757Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-05-29T04:25:29.423757Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.423758Z 01O | ^~~~~~ 2026-05-29T04:25:29.423758Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-05-29T04:25:29.423763Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-05-29T04:25:29.423763Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.423764Z 01O | ^~~~~~ 2026-05-29T04:25:29.423764Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-05-29T04:25:29.423765Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.423766Z 01O | ^ 2026-05-29T04:25:29.423766Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-05-29T04:25:29.423766Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.423767Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.423767Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-05-29T04:25:29.423768Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.423768Z 01O | ^ 2026-05-29T04:25:29.423768Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-05-29T04:25:29.423769Z 01O 1567 | if (nx_mod_k) { 2026-05-29T04:25:29.423769Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.423770Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-05-29T04:25:29.423770Z 01O 1567 | if (nx_mod_k) { 2026-05-29T04:25:29.423771Z 01O | ^ 2026-05-29T04:25:29.423771Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-05-29T04:25:29.423771Z 01O 1574 | bool even = !(k % 2); 2026-05-29T04:25:29.423772Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.423856Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-05-29T04:25:29.423857Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-05-29T04:25:29.423857Z 01O | ^~~~ 2026-05-29T04:25:29.423858Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-05-29T04:25:29.423858Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-05-29T04:25:29.423859Z 01O 1579 | if (!o) { // # nocov start 2026-05-29T04:25:29.423859Z 01O | ^~ 2026-05-29T04:25:29.423860Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-05-29T04:25:29.423865Z 01O 1579 | if (!o) { // # nocov start 2026-05-29T04:25:29.423865Z 01O | ^ 2026-05-29T04:25:29.423867Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-05-29T04:25:29.423868Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-29T04:25:29.423869Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.423869Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-05-29T04:25:29.423870Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-29T04:25:29.423870Z 01O | ^ 2026-05-29T04:25:29.423872Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-05-29T04:25:29.423873Z 01O 1588 | if (!m) { // # nocov start 2026-05-29T04:25:29.423873Z 01O | ^~ 2026-05-29T04:25:29.423875Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-05-29T04:25:29.423876Z 01O 1588 | if (!m) { // # nocov start 2026-05-29T04:25:29.423876Z 01O | ^ 2026-05-29T04:25:29.423877Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-05-29T04:25:29.423877Z 01O 1594 | if (!n) { // # nocov start 2026-05-29T04:25:29.423878Z 01O | ^~ 2026-05-29T04:25:29.423878Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-05-29T04:25:29.423879Z 01O 1594 | if (!n) { // # nocov start 2026-05-29T04:25:29.423879Z 01O | ^ 2026-05-29T04:25:29.423881Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-05-29T04:25:29.423881Z 01O 1600 | if (!s) { // # nocov start 2026-05-29T04:25:29.423882Z 01O | ^~ 2026-05-29T04:25:29.423884Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-05-29T04:25:29.423884Z 01O 1600 | if (!s) { // # nocov start 2026-05-29T04:25:29.423885Z 01O | ^ 2026-05-29T04:25:29.423886Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-05-29T04:25:29.423887Z 01O 1606 | if (!prev) { // # nocov start 2026-05-29T04:25:29.423887Z 01O | ^~~~~ 2026-05-29T04:25:29.423890Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-05-29T04:25:29.423890Z 01O 1606 | if (!prev) { // # nocov start 2026-05-29T04:25:29.423891Z 01O | ^ 2026-05-29T04:25:29.423891Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-05-29T04:25:29.423891Z 01O 1612 | if (!next) { // # nocov start 2026-05-29T04:25:29.423892Z 01O | ^~~~~ 2026-05-29T04:25:29.423978Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-05-29T04:25:29.423979Z 01O 1612 | if (!next) { // # nocov start 2026-05-29T04:25:29.423979Z 01O | ^ 2026-05-29T04:25:29.423979Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-05-29T04:25:29.423980Z 01O 1618 | if (verbose) 2026-05-29T04:25:29.423980Z 01O | ^~~~~~~ 2026-05-29T04:25:29.423981Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-05-29T04:25:29.423981Z 01O 1618 | if (verbose) 2026-05-29T04:25:29.423982Z 01O | ^ 2026-05-29T04:25:29.423982Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-05-29T04:25:29.423991Z 01O 1621 | for (int j=0; j= 'b' 2026-05-29T04:25:29.424117Z 01O 1621 | for (int j=0; j= 'm' 2026-05-29T04:25:29.424455Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-05-29T04:25:29.424456Z 01O | ^~~~~ 2026-05-29T04:25:29.424513Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-05-29T04:25:29.424513Z 01O 1460 | if (SMALL(i)) { 2026-05-29T04:25:29.424514Z 01O | ^ 2026-05-29T04:25:29.424514Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-05-29T04:25:29.424514Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-05-29T04:25:29.424520Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.424520Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-05-29T04:25:29.424521Z 01O 1460 | if (SMALL(i)) { 2026-05-29T04:25:29.424521Z 01O | ^ 2026-05-29T04:25:29.424521Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-05-29T04:25:29.424522Z 01O 1463 | if (m[0] == i) { 2026-05-29T04:25:29.424522Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.424523Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-05-29T04:25:29.424523Z 01O 1463 | if (m[0] == i) { 2026-05-29T04:25:29.424524Z 01O | ^ 2026-05-29T04:25:29.424528Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-05-29T04:25:29.424529Z 01O 1467 | } else if (even && n[0] == i) { 2026-05-29T04:25:29.424529Z 01O | ^~~~ 2026-05-29T04:25:29.424530Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-05-29T04:25:29.424530Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-05-29T04:25:29.424531Z 01O 1467 | } else if (even && n[0] == i) { 2026-05-29T04:25:29.424531Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.424532Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-05-29T04:25:29.424532Z 01O 1467 | } else if (even && n[0] == i) { 2026-05-29T04:25:29.424533Z 01O | ^ 2026-05-29T04:25:29.424533Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-05-29T04:25:29.424533Z 01O 1470 | if (s[0] > 0) { 2026-05-29T04:25:29.424534Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.424534Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-05-29T04:25:29.424535Z 01O 1470 | if (s[0] > 0) { 2026-05-29T04:25:29.424535Z 01O | ^ 2026-05-29T04:25:29.424535Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-05-29T04:25:29.424536Z 01O 1471 | m[0] = prev[m[0]]; 2026-05-29T04:25:29.424536Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.424540Z 01O /builds/Rdatatable/data.table/src/froll.c:1578:12: warning: Call to 'malloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-05-29T04:25:29.424541Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-05-29T04:25:29.424541Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.424542Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.424542Z 01O 1506 | if (verbose) 2026-05-29T04:25:29.424542Z 01O | ^~~~~~~ 2026-05-29T04:25:29.424543Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-29T04:25:29.424543Z 01O 1506 | if (verbose) 2026-05-29T04:25:29.424544Z 01O | ^ 2026-05-29T04:25:29.424544Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-05-29T04:25:29.424545Z 01O 1508 | if (k == 0) { 2026-05-29T04:25:29.424545Z 01O | ^~~~~~ 2026-05-29T04:25:29.424577Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-05-29T04:25:29.424578Z 01O 1508 | if (k == 0) { 2026-05-29T04:25:29.424578Z 01O | ^ 2026-05-29T04:25:29.424581Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-05-29T04:25:29.424582Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.424582Z 01O | ^~~~~~ 2026-05-29T04:25:29.424583Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-05-29T04:25:29.424583Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-05-29T04:25:29.424589Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.424589Z 01O | ^~~~~~ 2026-05-29T04:25:29.424645Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-05-29T04:25:29.424646Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-29T04:25:29.424646Z 01O | ^ 2026-05-29T04:25:29.424647Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-05-29T04:25:29.424647Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.424648Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.424648Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-05-29T04:25:29.424649Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.424649Z 01O | ^ 2026-05-29T04:25:29.424649Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-05-29T04:25:29.424650Z 01O 1549 | for (uint64_t i=0; i= 0 2026-05-29T04:25:29.424763Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.424764Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.424764Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-05-29T04:25:29.424765Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.424765Z 01O | ^ 2026-05-29T04:25:29.424765Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-05-29T04:25:29.424766Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-05-29T04:25:29.424963Z 01O 1549 | for (uint64_t i=0; i= 0 2026-05-29T04:25:29.425424Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.425425Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.425425Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-05-29T04:25:29.425426Z 01O 1548 | if (hasnf>=0) { 2026-05-29T04:25:29.425426Z 01O | ^ 2026-05-29T04:25:29.425426Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-05-29T04:25:29.425427Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-05-29T04:25:29.425481Z 01O 1549 | for (uint64_t i=0; i 0 2026-05-29T04:25:29.426071Z 01O 541 | bool truehasnf = hasnf>0; 2026-05-29T04:25:29.426072Z 01O | ^~~~~~~ 2026-05-29T04:25:29.426132Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-05-29T04:25:29.426133Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-05-29T04:25:29.426143Z 01O 542 | for (uint64_t i=0; i 0 2026-05-29T04:25:29.426433Z 01O 616 | bool truehasnf = hasnf>0; 2026-05-29T04:25:29.426433Z 01O | ^~~~~~~ 2026-05-29T04:25:29.426535Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-05-29T04:25:29.426536Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-05-29T04:25:29.426563Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-05-29T04:25:29.426771Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-05-29T04:25:29.427006Z 01O | ^ 2026-05-29T04:25:29.427006Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-05-29T04:25:29.427007Z 01O 888 | if (i+1 == ik) { 2026-05-29T04:25:29.427007Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.427008Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-05-29T04:25:29.427008Z 01O 888 | if (i+1 == ik) { 2026-05-29T04:25:29.427009Z 01O | ^ 2026-05-29T04:25:29.427011Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-05-29T04:25:29.427012Z 01O 890 | } else if (i+1 < ik) { 2026-05-29T04:25:29.427012Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.427012Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-05-29T04:25:29.427013Z 01O 890 | } else if (i+1 < ik) { 2026-05-29T04:25:29.427013Z 01O | ^ 2026-05-29T04:25:29.427112Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:893:25: note: Assuming index is non-negative and less than 1, the number of 'int' elements in the heap area 2026-05-29T04:25:29.427113Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-05-29T04:25:29.427113Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.427114Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-05-29T04:25:29.427114Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-05-29T04:25:29.427115Z 01O | ^ 2026-05-29T04:25:29.427115Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-05-29T04:25:29.427116Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-05-29T04:25:29.427116Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.427117Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-05-29T04:25:29.427117Z 01O 998 | if (!nc) { // total NA for x 2026-05-29T04:25:29.427118Z 01O | ^~ 2026-05-29T04:25:29.427122Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-05-29T04:25:29.427122Z 01O 998 | if (!nc) { // total NA for x 2026-05-29T04:25:29.427123Z 01O | ^ 2026-05-29T04:25:29.427123Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.427124Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-05-29T04:25:29.427575Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-05-29T04:25:29.427720Z 01O | ^~~~~~~ 2026-05-29T04:25:29.427763Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-05-29T04:25:29.427763Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-05-29T04:25:29.427764Z 01O | ^ 2026-05-29T04:25:29.427772Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-05-29T04:25:29.427772Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-05-29T04:25:29.427773Z 01O | ^ 2026-05-29T04:25:29.427773Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-05-29T04:25:29.427774Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-29T04:25:29.427774Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.427775Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-05-29T04:25:29.427775Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-05-29T04:25:29.427776Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-29T04:25:29.427776Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.427782Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-05-29T04:25:29.427782Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-29T04:25:29.427783Z 01O | ^ 2026-05-29T04:25:29.427783Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-05-29T04:25:29.427784Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-29T04:25:29.427784Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.427784Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-05-29T04:25:29.427785Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-29T04:25:29.427785Z 01O | ^ 2026-05-29T04:25:29.427786Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-05-29T04:25:29.427786Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-05-29T04:25:29.427859Z 01O | ^~~~~~~ 2026-05-29T04:25:29.427859Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-05-29T04:25:29.427860Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-05-29T04:25:29.427860Z 01O | ^ 2026-05-29T04:25:29.427861Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-05-29T04:25:29.427861Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-05-29T04:25:29.427862Z 01O | ^ 2026-05-29T04:25:29.427876Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-05-29T04:25:29.427876Z 01O 122 | if (!counts || !TMP ) { 2026-05-29T04:25:29.427877Z 01O | ^~~~~~~ 2026-05-29T04:25:29.427877Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-05-29T04:25:29.427942Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-05-29T04:25:29.427943Z 01O 122 | if (!counts || !TMP ) { 2026-05-29T04:25:29.427948Z 01O | ^~~~ 2026-05-29T04:25:29.427949Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-05-29T04:25:29.427949Z 01O 122 | if (!counts || !TMP ) { 2026-05-29T04:25:29.427950Z 01O | ^ 2026-05-29T04:25:29.427950Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-05-29T04:25:29.427951Z 01O 127 | for (int b=0; b= 'howMany' 2026-05-29T04:25:29.428001Z 01O 131 | for (int i=0; i= 'highSize' 2026-05-29T04:25:29.428009Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-05-29T04:25:29.428264Z 01O | ^ 2026-05-29T04:25:29.428265Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-05-29T04:25:29.428265Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-05-29T04:25:29.428266Z 01O | ^ ~ 2026-05-29T04:25:29.428266Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-05-29T04:25:29.428267Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-05-29T04:25:29.428267Z 01O | ^ ~ 2026-05-29T04:25:29.428268Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-29T04:25:29.428268Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428269Z 01O | ^ 2026-05-29T04:25:29.428269Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428269Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428270Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.428291Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-29T04:25:29.428291Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428292Z 01O | ^ 2026-05-29T04:25:29.428400Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428401Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428401Z 01O | ^ 2026-05-29T04:25:29.428402Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-29T04:25:29.428402Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428403Z 01O | ^ 2026-05-29T04:25:29.428408Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428408Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428409Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.428409Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-29T04:25:29.428410Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428410Z 01O | ^ 2026-05-29T04:25:29.428411Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428411Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428412Z 01O | ^ 2026-05-29T04:25:29.428412Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-29T04:25:29.428413Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428413Z 01O | ^ 2026-05-29T04:25:29.428449Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428450Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428456Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.428456Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-05-29T04:25:29.428457Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428457Z 01O | ^ 2026-05-29T04:25:29.428458Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-05-29T04:25:29.428458Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-29T04:25:29.428459Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.428459Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-05-29T04:25:29.428459Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-29T04:25:29.428460Z 01O | ^ 2026-05-29T04:25:29.428463Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-05-29T04:25:29.428464Z 01O 1122 | if (inherits(x, "factor")) 2026-05-29T04:25:29.428464Z 01O | ^ 2026-05-29T04:25:29.428464Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-05-29T04:25:29.428465Z 01O 933 | #define inherits Rf_inherits 2026-05-29T04:25:29.428465Z 01O | ^ 2026-05-29T04:25:29.428466Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-05-29T04:25:29.428466Z 01O 1122 | if (inherits(x, "factor")) 2026-05-29T04:25:29.428467Z 01O | ^ 2026-05-29T04:25:29.428525Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-05-29T04:25:29.428526Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-05-29T04:25:29.428527Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.428527Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-05-29T04:25:29.428528Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-05-29T04:25:29.428528Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.428528Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-05-29T04:25:29.428529Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-05-29T04:25:29.428530Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-29T04:25:29.428530Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.428530Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-05-29T04:25:29.428531Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-29T04:25:29.428532Z 01O | ^ 2026-05-29T04:25:29.428532Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-05-29T04:25:29.428532Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-05-29T04:25:29.428533Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.428533Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-05-29T04:25:29.428534Z 01O 1129 | if (!s) 2026-05-29T04:25:29.428534Z 01O | ^~ 2026-05-29T04:25:29.428535Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-05-29T04:25:29.428535Z 01O 1129 | if (!s) 2026-05-29T04:25:29.428536Z 01O | ^ 2026-05-29T04:25:29.428581Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-05-29T04:25:29.428582Z 01O 1131 | for (int i=0; i= 'n' 2026-05-29T04:25:29.428590Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-05-29T04:25:29.428665Z 01O | ^ 2026-05-29T04:25:29.428667Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-05-29T04:25:29.428668Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-05-29T04:25:29.428669Z 01O | ^ ~ 2026-05-29T04:25:29.428669Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-05-29T04:25:29.428670Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-05-29T04:25:29.428670Z 01O | ^ ~ 2026-05-29T04:25:29.428720Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-05-29T04:25:29.428721Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-05-29T04:25:29.428722Z 01O | ~~~~ ^ 2026-05-29T04:25:29.428722Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-29T04:25:29.428722Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428723Z 01O | ^ 2026-05-29T04:25:29.428723Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428724Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428724Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.428725Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-29T04:25:29.428725Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428731Z 01O | ^ 2026-05-29T04:25:29.428731Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428732Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428732Z 01O | ^ 2026-05-29T04:25:29.428735Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-29T04:25:29.428736Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428736Z 01O | ^ 2026-05-29T04:25:29.428767Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428767Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428768Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.428768Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-29T04:25:29.428769Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428769Z 01O | ^ 2026-05-29T04:25:29.428772Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428773Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428774Z 01O | ^ 2026-05-29T04:25:29.428774Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-29T04:25:29.428775Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428775Z 01O | ^ 2026-05-29T04:25:29.428828Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.428829Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.428830Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.428830Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-05-29T04:25:29.428831Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-29T04:25:29.428831Z 01O | ^ 2026-05-29T04:25:29.428832Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-05-29T04:25:29.428832Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-29T04:25:29.428833Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.428833Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-05-29T04:25:29.428834Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-29T04:25:29.428834Z 01O | ^ 2026-05-29T04:25:29.428837Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-05-29T04:25:29.428837Z 01O 1122 | if (inherits(x, "factor")) 2026-05-29T04:25:29.428838Z 01O | ^ 2026-05-29T04:25:29.428838Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-05-29T04:25:29.428839Z 01O 933 | #define inherits Rf_inherits 2026-05-29T04:25:29.428839Z 01O | ^ 2026-05-29T04:25:29.428840Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-05-29T04:25:29.428840Z 01O 1122 | if (inherits(x, "factor")) 2026-05-29T04:25:29.428841Z 01O | ^ 2026-05-29T04:25:29.428891Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-05-29T04:25:29.428891Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-05-29T04:25:29.428892Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.428892Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-05-29T04:25:29.428893Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-05-29T04:25:29.428898Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.428899Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-05-29T04:25:29.428899Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-05-29T04:25:29.428900Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-29T04:25:29.428900Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.428948Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-05-29T04:25:29.428949Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-29T04:25:29.428949Z 01O | ^ 2026-05-29T04:25:29.428950Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-05-29T04:25:29.428950Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-05-29T04:25:29.428951Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.428951Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-05-29T04:25:29.428952Z 01O 1129 | if (!s) 2026-05-29T04:25:29.428952Z 01O | ^~ 2026-05-29T04:25:29.428952Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-05-29T04:25:29.428953Z 01O 1129 | if (!s) 2026-05-29T04:25:29.428953Z 01O | ^ 2026-05-29T04:25:29.428954Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-05-29T04:25:29.428954Z 01O 1131 | for (int i=0; i= 'n' 2026-05-29T04:25:29.428958Z 01O 1135 | for (int i=0; i' is a garbage value 2026-05-29T04:25:29.429064Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-05-29T04:25:29.429065Z 01O | ~~~~ ^ 2026-05-29T04:25:29.429072Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: warning: Right shift by '64' overflows the capacity of 'size_t' [clang-analyzer-core.BitwiseShift] 2026-05-29T04:25:29.429073Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-29T04:25:29.429073Z 01O | ^ 2026-05-29T04:25:29.429074Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-05-29T04:25:29.429074Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-05-29T04:25:29.429075Z 01O | ^ 2026-05-29T04:25:29.429075Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-05-29T04:25:29.429076Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-05-29T04:25:29.429076Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.429121Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-05-29T04:25:29.429121Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-05-29T04:25:29.429122Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429122Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-05-29T04:25:29.429123Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-05-29T04:25:29.429123Z 01O | ^ 2026-05-29T04:25:29.429124Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-05-29T04:25:29.429124Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-05-29T04:25:29.429125Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429125Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-05-29T04:25:29.429126Z 01O 54 | if (!ret) 2026-05-29T04:25:29.429126Z 01O | ^~~~ 2026-05-29T04:25:29.429127Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-05-29T04:25:29.429127Z 01O 54 | if (!ret) 2026-05-29T04:25:29.429127Z 01O | ^ 2026-05-29T04:25:29.429129Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-05-29T04:25:29.429130Z 01O 59 | if (!table) { 2026-05-29T04:25:29.429130Z 01O | ^~~~~~ 2026-05-29T04:25:29.429132Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-05-29T04:25:29.429133Z 01O 59 | if (!table) { 2026-05-29T04:25:29.429133Z 01O | ^ 2026-05-29T04:25:29.429180Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-05-29T04:25:29.429180Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-05-29T04:25:29.429181Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429181Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-05-29T04:25:29.429182Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-05-29T04:25:29.429182Z 01O | ^ 2026-05-29T04:25:29.429183Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-05-29T04:25:29.429183Z 01O 71 | ret->shift = HASH_BITS - k; 2026-05-29T04:25:29.429184Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429184Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-05-29T04:25:29.429185Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-05-29T04:25:29.429185Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429263Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-05-29T04:25:29.429268Z 01O 133 | if (!new_h) return NULL; 2026-05-29T04:25:29.429269Z 01O | ^~~~~ 2026-05-29T04:25:29.429269Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-05-29T04:25:29.429270Z 01O 133 | if (!new_h) return NULL; 2026-05-29T04:25:29.429270Z 01O | ^ 2026-05-29T04:25:29.429271Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-05-29T04:25:29.429271Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-05-29T04:25:29.429272Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.429272Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.429273Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-05-29T04:25:29.429273Z 01O | ^ 2026-05-29T04:25:29.429273Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-05-29T04:25:29.429274Z 01O 138 | if (h->table[i].key) 2026-05-29T04:25:29.429274Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429275Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-05-29T04:25:29.429275Z 01O 138 | if (h->table[i].key) 2026-05-29T04:25:29.429276Z 01O | ^ 2026-05-29T04:25:29.429276Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-05-29T04:25:29.429277Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-05-29T04:25:29.429277Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429278Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-05-29T04:25:29.429278Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-05-29T04:25:29.429279Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.429279Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-05-29T04:25:29.429280Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-05-29T04:25:29.429280Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429281Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-05-29T04:25:29.429281Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-29T04:25:29.429282Z 01O | ^ 2026-05-29T04:25:29.429293Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-05-29T04:25:29.429294Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-05-29T04:25:29.429294Z 01O | ^ 2026-05-29T04:25:29.429333Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: note: The result of right shift is undefined because the right operand '64' is not smaller than 64, the capacity of 'size_t' 2026-05-29T04:25:29.429334Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-29T04:25:29.429335Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-05-29T04:25:29.429402Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.429403Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-05-29T04:25:29.429403Z 01O | ^ 2026-05-29T04:25:29.429404Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2026-05-29T04:25:29.429464Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.429472Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-05-29T04:25:29.429472Z 01O | ^ 2026-05-29T04:25:29.429473Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2026-05-29T04:25:29.429474Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.429474Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-05-29T04:25:29.429475Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429525Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-05-29T04:25:29.429526Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-05-29T04:25:29.429526Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429537Z 01O /builds/Rdatatable/data.table/src/nafill.c:10:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.429538Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-05-29T04:25:29.429539Z 01O | ^ 2026-05-29T04:25:29.429539Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.429540Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.429540Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.429541Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.429541Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.429541Z 01O | ^ 2026-05-29T04:25:29.429542Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.429542Z 01O 128 | if (verbose) 2026-05-29T04:25:29.429543Z 01O | ^~~~~~~ 2026-05-29T04:25:29.429543Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.429544Z 01O 128 | if (verbose) 2026-05-29T04:25:29.429544Z 01O | ^ 2026-05-29T04:25:29.429580Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.429581Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.429581Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429597Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.429597Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.429598Z 01O | ^ 2026-05-29T04:25:29.429881Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.429882Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.429883Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429883Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.429884Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.429884Z 01O | ^ 2026-05-29T04:25:29.429885Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.429885Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.429886Z 01O | ^ 2026-05-29T04:25:29.429886Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.429887Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.429887Z 01O | ^ 2026-05-29T04:25:29.429893Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.429893Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.429894Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.429895Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.429895Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.429896Z 01O | ^ 2026-05-29T04:25:29.429899Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.429900Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.429900Z 01O | ^ 2026-05-29T04:25:29.429901Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.429901Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.429902Z 01O | ^ 2026-05-29T04:25:29.429907Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.429907Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.429908Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.429909Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.429909Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.429910Z 01O | ^ 2026-05-29T04:25:29.429910Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.429910Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.429911Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.429911Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.429912Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.429912Z 01O | ^ 2026-05-29T04:25:29.429913Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.429913Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.430730Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-05-29T04:25:29.430851Z 01O | ^ 2026-05-29T04:25:29.430851Z 01O /builds/Rdatatable/data.table/src/nafill.c:14:30: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.430852Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-05-29T04:25:29.430852Z 01O | ^ 2026-05-29T04:25:29.430853Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.430853Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.430854Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.430856Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.430857Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.430857Z 01O | ^ 2026-05-29T04:25:29.430857Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.430858Z 01O 128 | if (verbose) 2026-05-29T04:25:29.430858Z 01O | ^~~~~~~ 2026-05-29T04:25:29.430860Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.430861Z 01O 128 | if (verbose) 2026-05-29T04:25:29.430861Z 01O | ^ 2026-05-29T04:25:29.430864Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.430864Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.430865Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.430865Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.430866Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.430866Z 01O | ^ 2026-05-29T04:25:29.430870Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.430871Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.430876Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.430877Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.430877Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.430878Z 01O | ^ 2026-05-29T04:25:29.430878Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.430879Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.430879Z 01O | ^ 2026-05-29T04:25:29.430884Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.430885Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.430885Z 01O | ^ 2026-05-29T04:25:29.430886Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.430886Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.430887Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.430887Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.430888Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.430888Z 01O | ^ 2026-05-29T04:25:29.430896Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.430896Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.430897Z 01O | ^ 2026-05-29T04:25:29.430898Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.430898Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.430899Z 01O | ^ 2026-05-29T04:25:29.430903Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.430904Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.430904Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.430905Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.430905Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.430906Z 01O | ^ 2026-05-29T04:25:29.430906Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.430907Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.430907Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.430907Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.430908Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.430908Z 01O | ^ 2026-05-29T04:25:29.430909Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.430909Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.430938Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-05-29T04:25:29.431054Z 01O | ^ 2026-05-29T04:25:29.431054Z 01O /builds/Rdatatable/data.table/src/nafill.c:19:29: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.431055Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-05-29T04:25:29.431055Z 01O | ^ 2026-05-29T04:25:29.431056Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.431056Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.431057Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.431057Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.431058Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.431058Z 01O | ^ 2026-05-29T04:25:29.431058Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.431059Z 01O 128 | if (verbose) 2026-05-29T04:25:29.431059Z 01O | ^~~~~~~ 2026-05-29T04:25:29.431060Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.431065Z 01O 128 | if (verbose) 2026-05-29T04:25:29.431065Z 01O | ^ 2026-05-29T04:25:29.431071Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.431071Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.431072Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.431072Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.431073Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431073Z 01O | ^ 2026-05-29T04:25:29.431073Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431074Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431075Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.431075Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.431076Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431076Z 01O | ^ 2026-05-29T04:25:29.431076Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431077Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431078Z 01O | ^ 2026-05-29T04:25:29.431082Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.431083Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431083Z 01O | ^ 2026-05-29T04:25:29.431083Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431084Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431085Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.431085Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.431086Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431086Z 01O | ^ 2026-05-29T04:25:29.431086Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431087Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431088Z 01O | ^ 2026-05-29T04:25:29.431092Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.431093Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431093Z 01O | ^ 2026-05-29T04:25:29.431094Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431094Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431095Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.431096Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.431096Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431097Z 01O | ^ 2026-05-29T04:25:29.431097Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.431097Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.431098Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.431098Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.431099Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.431099Z 01O | ^ 2026-05-29T04:25:29.431103Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.431104Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.431140Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-05-29T04:25:29.431536Z 01O | ^ 2026-05-29T04:25:29.431536Z 01O /builds/Rdatatable/data.table/src/nafill.c:24:28: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.431537Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-05-29T04:25:29.431537Z 01O | ^ 2026-05-29T04:25:29.431538Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.431538Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.431539Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.431539Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.431540Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.431540Z 01O | ^ 2026-05-29T04:25:29.431540Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.431541Z 01O 128 | if (verbose) 2026-05-29T04:25:29.431541Z 01O | ^~~~~~~ 2026-05-29T04:25:29.431542Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.431542Z 01O 128 | if (verbose) 2026-05-29T04:25:29.431543Z 01O | ^ 2026-05-29T04:25:29.431543Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.431543Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.431544Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.431544Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.431545Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431545Z 01O | ^ 2026-05-29T04:25:29.431550Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431551Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431551Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.431552Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.431552Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431553Z 01O | ^ 2026-05-29T04:25:29.431638Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431639Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431639Z 01O | ^ 2026-05-29T04:25:29.431640Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.431640Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431641Z 01O | ^ 2026-05-29T04:25:29.431641Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431642Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431642Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.431645Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.431646Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431647Z 01O | ^ 2026-05-29T04:25:29.431647Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431647Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431653Z 01O | ^ 2026-05-29T04:25:29.431655Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.431656Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431656Z 01O | ^ 2026-05-29T04:25:29.431659Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.431660Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.431660Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.431661Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.431661Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.431662Z 01O | ^ 2026-05-29T04:25:29.431664Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.431665Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.431665Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.431666Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.431666Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.431667Z 01O | ^ 2026-05-29T04:25:29.431762Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.431763Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.431788Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-05-29T04:25:29.432117Z 01O | ^ 2026-05-29T04:25:29.432197Z 01O /builds/Rdatatable/data.table/src/nafill.c:31:32: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.432197Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-05-29T04:25:29.432198Z 01O | ^ 2026-05-29T04:25:29.432198Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.432199Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.432199Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.432200Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.432200Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.432201Z 01O | ^ 2026-05-29T04:25:29.432201Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.432202Z 01O 128 | if (verbose) 2026-05-29T04:25:29.432202Z 01O | ^~~~~~~ 2026-05-29T04:25:29.432202Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.432203Z 01O 128 | if (verbose) 2026-05-29T04:25:29.432203Z 01O | ^ 2026-05-29T04:25:29.432204Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.432204Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.432205Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.432207Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.432207Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432208Z 01O | ^ 2026-05-29T04:25:29.432212Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432212Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432213Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.432214Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.432214Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432215Z 01O | ^ 2026-05-29T04:25:29.432215Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432220Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432220Z 01O | ^ 2026-05-29T04:25:29.432309Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.432310Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432310Z 01O | ^ 2026-05-29T04:25:29.432310Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432311Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432312Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.432312Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.432313Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432313Z 01O | ^ 2026-05-29T04:25:29.432313Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432314Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432315Z 01O | ^ 2026-05-29T04:25:29.432315Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.432316Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432316Z 01O | ^ 2026-05-29T04:25:29.432319Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432320Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432320Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.432321Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.432321Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432322Z 01O | ^ 2026-05-29T04:25:29.432324Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.432325Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.432325Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.432325Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.432326Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.432326Z 01O | ^ 2026-05-29T04:25:29.432329Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.432329Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.432445Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-05-29T04:25:29.432855Z 01O | ^ 2026-05-29T04:25:29.432856Z 01O /builds/Rdatatable/data.table/src/nafill.c:36:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.432856Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-05-29T04:25:29.432857Z 01O | ^ 2026-05-29T04:25:29.432857Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.432858Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.432858Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.432859Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.432859Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.432860Z 01O | ^ 2026-05-29T04:25:29.432860Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.432860Z 01O 128 | if (verbose) 2026-05-29T04:25:29.432861Z 01O | ^~~~~~~ 2026-05-29T04:25:29.432861Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.432862Z 01O 128 | if (verbose) 2026-05-29T04:25:29.432862Z 01O | ^ 2026-05-29T04:25:29.432943Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.432944Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.432944Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.432945Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.432945Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432946Z 01O | ^ 2026-05-29T04:25:29.432946Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432947Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432947Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.432948Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.432948Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432949Z 01O | ^ 2026-05-29T04:25:29.432954Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432955Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432955Z 01O | ^ 2026-05-29T04:25:29.432956Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.432956Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432957Z 01O | ^ 2026-05-29T04:25:29.432957Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432958Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432958Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.432959Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.432959Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.432960Z 01O | ^ 2026-05-29T04:25:29.432962Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.432963Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.432963Z 01O | ^ 2026-05-29T04:25:29.433055Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.433061Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.433062Z 01O | ^ 2026-05-29T04:25:29.433062Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.433063Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.433063Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.433064Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.433064Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.433065Z 01O | ^ 2026-05-29T04:25:29.433065Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.433066Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.433066Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.433066Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.433067Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.433067Z 01O | ^ 2026-05-29T04:25:29.433068Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.433068Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.433192Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-05-29T04:25:29.433584Z 01O | ^ 2026-05-29T04:25:29.433595Z 01O /builds/Rdatatable/data.table/src/nafill.c:73:25: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.433596Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-05-29T04:25:29.433596Z 01O | ^ 2026-05-29T04:25:29.433597Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.433597Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.433598Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.433598Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.433599Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.433599Z 01O | ^ 2026-05-29T04:25:29.433599Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.433600Z 01O 128 | if (verbose) 2026-05-29T04:25:29.433600Z 01O | ^~~~~~~ 2026-05-29T04:25:29.433601Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.433601Z 01O 128 | if (verbose) 2026-05-29T04:25:29.433602Z 01O | ^ 2026-05-29T04:25:29.433604Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.433605Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.433605Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.433606Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.433610Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.433611Z 01O | ^ 2026-05-29T04:25:29.433714Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.433715Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.433715Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.433716Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.433716Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.433717Z 01O | ^ 2026-05-29T04:25:29.433717Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.433718Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.433718Z 01O | ^ 2026-05-29T04:25:29.433719Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.433719Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.433720Z 01O | ^ 2026-05-29T04:25:29.433723Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.433724Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.433725Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.433725Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.433726Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.433726Z 01O | ^ 2026-05-29T04:25:29.433727Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.433727Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.433728Z 01O | ^ 2026-05-29T04:25:29.433732Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.433733Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.433733Z 01O | ^ 2026-05-29T04:25:29.433733Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.433734Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.433735Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.433735Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.433736Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.433736Z 01O | ^ 2026-05-29T04:25:29.433736Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.433737Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.433737Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.433738Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.433738Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.433739Z 01O | ^ 2026-05-29T04:25:29.433837Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.433838Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.433916Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-05-29T04:25:29.434152Z 01O | ^ 2026-05-29T04:25:29.434190Z 01O /builds/Rdatatable/data.table/src/nafill.c:76:23: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.434191Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-05-29T04:25:29.434192Z 01O | ^ 2026-05-29T04:25:29.434192Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.434193Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.434193Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.434194Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.434194Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.434194Z 01O | ^ 2026-05-29T04:25:29.434195Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.434195Z 01O 128 | if (verbose) 2026-05-29T04:25:29.434196Z 01O | ^~~~~~~ 2026-05-29T04:25:29.434201Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.434202Z 01O 128 | if (verbose) 2026-05-29T04:25:29.434202Z 01O | ^ 2026-05-29T04:25:29.434202Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.434203Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.434203Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.434262Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.434262Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434263Z 01O | ^ 2026-05-29T04:25:29.434263Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434264Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434264Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.434265Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.434265Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434266Z 01O | ^ 2026-05-29T04:25:29.434266Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434267Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434267Z 01O | ^ 2026-05-29T04:25:29.434268Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.434268Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434269Z 01O | ^ 2026-05-29T04:25:29.434315Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434315Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434316Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.434317Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.434317Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434318Z 01O | ^ 2026-05-29T04:25:29.434321Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434321Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434322Z 01O | ^ 2026-05-29T04:25:29.434322Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.434323Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434323Z 01O | ^ 2026-05-29T04:25:29.434395Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434396Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434396Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.434397Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.434397Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434398Z 01O | ^ 2026-05-29T04:25:29.434398Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.434399Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.434399Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.434399Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.434404Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.434405Z 01O | ^ 2026-05-29T04:25:29.434405Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.434406Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.434526Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-05-29T04:25:29.434812Z 01O | ^ 2026-05-29T04:25:29.434837Z 01O /builds/Rdatatable/data.table/src/nafill.c:81:26: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.434838Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-05-29T04:25:29.434839Z 01O | ^ 2026-05-29T04:25:29.434839Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.434840Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.434840Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.434843Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.434844Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.434844Z 01O | ^ 2026-05-29T04:25:29.434845Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.434845Z 01O 128 | if (verbose) 2026-05-29T04:25:29.434846Z 01O | ^~~~~~~ 2026-05-29T04:25:29.434846Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.434847Z 01O 128 | if (verbose) 2026-05-29T04:25:29.434847Z 01O | ^ 2026-05-29T04:25:29.434847Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.434848Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.434848Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.434917Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.434918Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434918Z 01O | ^ 2026-05-29T04:25:29.434919Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434919Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434920Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.434920Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.434921Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434921Z 01O | ^ 2026-05-29T04:25:29.434922Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434922Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434923Z 01O | ^ 2026-05-29T04:25:29.434956Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.434956Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434957Z 01O | ^ 2026-05-29T04:25:29.434957Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434958Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434959Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.434959Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.434960Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434960Z 01O | ^ 2026-05-29T04:25:29.434960Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434961Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434961Z 01O | ^ 2026-05-29T04:25:29.434962Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.434962Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434967Z 01O | ^ 2026-05-29T04:25:29.434976Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.434977Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.434978Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.434978Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.434979Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.434979Z 01O | ^ 2026-05-29T04:25:29.434980Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.434980Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.434981Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.434981Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.434982Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.434982Z 01O | ^ 2026-05-29T04:25:29.434991Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.434991Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.435114Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-05-29T04:25:29.435548Z 01O | ^ 2026-05-29T04:25:29.435559Z 01O /builds/Rdatatable/data.table/src/nafill.c:96:38: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.435560Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-05-29T04:25:29.435560Z 01O | ^ 2026-05-29T04:25:29.435561Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.435561Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.435562Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.435562Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.435563Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.435563Z 01O | ^ 2026-05-29T04:25:29.435563Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.435564Z 01O 128 | if (verbose) 2026-05-29T04:25:29.435564Z 01O | ^~~~~~~ 2026-05-29T04:25:29.435565Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.435565Z 01O 128 | if (verbose) 2026-05-29T04:25:29.435566Z 01O | ^ 2026-05-29T04:25:29.435568Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.435569Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.435569Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.435570Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.435570Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.435571Z 01O | ^ 2026-05-29T04:25:29.435667Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.435668Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.435673Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.435674Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.435674Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.435675Z 01O | ^ 2026-05-29T04:25:29.435675Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.435676Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.435676Z 01O | ^ 2026-05-29T04:25:29.435677Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.435677Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.435678Z 01O | ^ 2026-05-29T04:25:29.435686Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.435686Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.435687Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.435687Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.435688Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.435688Z 01O | ^ 2026-05-29T04:25:29.435691Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.435692Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.435693Z 01O | ^ 2026-05-29T04:25:29.435693Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.435694Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.435694Z 01O | ^ 2026-05-29T04:25:29.435722Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.435723Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.435724Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.435724Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.435725Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.435725Z 01O | ^ 2026-05-29T04:25:29.435725Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.435726Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.435726Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.435727Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.435727Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.435728Z 01O | ^ 2026-05-29T04:25:29.435731Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.435732Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.435791Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-05-29T04:25:29.436128Z 01O | ^ 2026-05-29T04:25:29.436129Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:36: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.436129Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-05-29T04:25:29.436130Z 01O | ^ 2026-05-29T04:25:29.436130Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.436131Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.436131Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.436132Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.436132Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.436133Z 01O | ^ 2026-05-29T04:25:29.436191Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.436192Z 01O 128 | if (verbose) 2026-05-29T04:25:29.436192Z 01O | ^~~~~~~ 2026-05-29T04:25:29.436193Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.436193Z 01O 128 | if (verbose) 2026-05-29T04:25:29.436193Z 01O | ^ 2026-05-29T04:25:29.436194Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.436194Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.436195Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.436195Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.436196Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436196Z 01O | ^ 2026-05-29T04:25:29.436197Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436197Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436203Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.436203Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.436204Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436204Z 01O | ^ 2026-05-29T04:25:29.436226Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436227Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436228Z 01O | ^ 2026-05-29T04:25:29.436228Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.436229Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436229Z 01O | ^ 2026-05-29T04:25:29.436229Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436230Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436231Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.436231Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.436232Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436232Z 01O | ^ 2026-05-29T04:25:29.436232Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436233Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436234Z 01O | ^ 2026-05-29T04:25:29.436303Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.436304Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436304Z 01O | ^ 2026-05-29T04:25:29.436305Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436305Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436306Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.436306Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.436307Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436307Z 01O | ^ 2026-05-29T04:25:29.436308Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.436308Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.436309Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.436309Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.436309Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.436310Z 01O | ^ 2026-05-29T04:25:29.436315Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.436316Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.436442Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-05-29T04:25:29.436780Z 01O | ^ 2026-05-29T04:25:29.436790Z 01O /builds/Rdatatable/data.table/src/nafill.c:105:39: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-29T04:25:29.436791Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-05-29T04:25:29.436791Z 01O | ^ 2026-05-29T04:25:29.436792Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-29T04:25:29.436792Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.436793Z 01O | ^~~~~~~~~~~~~ 2026-05-29T04:25:29.436793Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-29T04:25:29.436794Z 01O 124 | if (!xlength(obj)) 2026-05-29T04:25:29.436794Z 01O | ^ 2026-05-29T04:25:29.436794Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-29T04:25:29.436795Z 01O 128 | if (verbose) 2026-05-29T04:25:29.436795Z 01O | ^~~~~~~ 2026-05-29T04:25:29.436904Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-29T04:25:29.436905Z 01O 128 | if (verbose) 2026-05-29T04:25:29.436905Z 01O | ^ 2026-05-29T04:25:29.436906Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-05-29T04:25:29.436911Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-05-29T04:25:29.436911Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.436912Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.436912Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436913Z 01O | ^ 2026-05-29T04:25:29.436919Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436919Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436920Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.436920Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.436921Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436921Z 01O | ^ 2026-05-29T04:25:29.436922Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436922Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436923Z 01O | ^ 2026-05-29T04:25:29.436923Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.436924Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436924Z 01O | ^ 2026-05-29T04:25:29.436925Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436925Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436926Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.436929Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-29T04:25:29.436929Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436930Z 01O | ^ 2026-05-29T04:25:29.436930Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.436931Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.436931Z 01O | ^ 2026-05-29T04:25:29.436934Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-29T04:25:29.436934Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.436935Z 01O | ^ 2026-05-29T04:25:29.437034Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.437034Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.437035Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437036Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-29T04:25:29.437036Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-29T04:25:29.437037Z 01O | ^ 2026-05-29T04:25:29.437037Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-29T04:25:29.437037Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.437038Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.437038Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-29T04:25:29.437039Z 01O 138 | if (obj_scalar) { 2026-05-29T04:25:29.437039Z 01O | ^ 2026-05-29T04:25:29.437039Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-29T04:25:29.437040Z 01O 151 | for (int i=0; i= 'nx' 2026-05-29T04:25:29.437072Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-05-29T04:25:29.437444Z 01O | ^ 2026-05-29T04:25:29.437447Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: warning: Value stored to 'x' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.437448Z 01O 136 | SEXP x = R_NilValue; 2026-05-29T04:25:29.437448Z 01O | ^ ~~~~~~~~~~ 2026-05-29T04:25:29.437543Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-05-29T04:25:29.437544Z 01O 136 | SEXP x = R_NilValue; 2026-05-29T04:25:29.437544Z 01O | ^ ~~~~~~~~~~ 2026-05-29T04:25:29.437544Z 01O /builds/Rdatatable/data.table/src/nafill.c:154:7: warning: Value stored to 'any_char' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-29T04:25:29.437545Z 01O 154 | any_char = true; 2026-05-29T04:25:29.437546Z 01O | ^ 2026-05-29T04:25:29.437546Z 01O /builds/Rdatatable/data.table/src/nafill.c:154:7: note: Value stored to 'any_char' is never read 2026-05-29T04:25:29.437549Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: warning: Potential out of bound access to the region with tainted index [clang-analyzer-security.ArrayBound] 2026-05-29T04:25:29.437550Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-05-29T04:25:29.437550Z 01O | ^ 2026-05-29T04:25:29.437642Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-05-29T04:25:29.437643Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-05-29T04:25:29.437643Z 01O | ^ 2026-05-29T04:25:29.437644Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-05-29T04:25:29.437644Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-05-29T04:25:29.437645Z 01O | ^ 2026-05-29T04:25:29.437645Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-05-29T04:25:29.437646Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-05-29T04:25:29.437646Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437647Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-05-29T04:25:29.437647Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-05-29T04:25:29.437648Z 01O | ^ 2026-05-29T04:25:29.437654Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-05-29T04:25:29.437655Z 01O 131 | if (length(throttle)) { 2026-05-29T04:25:29.437655Z 01O | ^ 2026-05-29T04:25:29.437656Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-29T04:25:29.437656Z 01O 987 | #define length(x) Rf_length(x) 2026-05-29T04:25:29.437657Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.437657Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-05-29T04:25:29.437658Z 01O 131 | if (length(throttle)) { 2026-05-29T04:25:29.437658Z 01O | ^ 2026-05-29T04:25:29.437658Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-05-29T04:25:29.437659Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-29T04:25:29.437659Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437660Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-05-29T04:25:29.437660Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-05-29T04:25:29.437661Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-29T04:25:29.437661Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437675Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-05-29T04:25:29.437676Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-29T04:25:29.437676Z 01O | ^ 2026-05-29T04:25:29.437677Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-05-29T04:25:29.437677Z 01O 138 | initDTthreads(); 2026-05-29T04:25:29.437678Z 01O | ^~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437700Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-05-29T04:25:29.437701Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-05-29T04:25:29.437701Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437702Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-05-29T04:25:29.437702Z 01O 14 | const char *val = getenv(name); 2026-05-29T04:25:29.437703Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.437703Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-05-29T04:25:29.437704Z 01O 14 | const char *val = getenv(name); 2026-05-29T04:25:29.437704Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.437705Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-05-29T04:25:29.437705Z 01O 14 | const char *val = getenv(name); 2026-05-29T04:25:29.437706Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.437743Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-05-29T04:25:29.437744Z 01O 15 | if (val == NULL) return def; 2026-05-29T04:25:29.437745Z 01O | ^~~ 2026-05-29T04:25:29.437745Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-05-29T04:25:29.437745Z 01O 15 | if (val == NULL) return def; 2026-05-29T04:25:29.437746Z 01O | ^ 2026-05-29T04:25:29.437746Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-05-29T04:25:29.437747Z 01O 17 | if (nchar == 0) return def; 2026-05-29T04:25:29.437747Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.437748Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-05-29T04:25:29.437748Z 01O 17 | if (nchar == 0) return def; 2026-05-29T04:25:29.437749Z 01O | ^ 2026-05-29T04:25:29.437752Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-05-29T04:25:29.437752Z 01O 20 | long int ans = strtol(val, &end, 10); // ignores leading whitespace. If it fully consumed the string, *end=='\0' and isspace('\0')==false 2026-05-29T04:25:29.437753Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437792Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: note: Access of the region with a tainted index that may be too large 2026-05-29T04:25:29.437792Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-05-29T04:25:29.437793Z 01O | ^ 2026-05-29T04:25:29.437793Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-05-29T04:25:29.437794Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-05-29T04:25:29.437794Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437877Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-05-29T04:25:29.437877Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-05-29T04:25:29.437878Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437917Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:101:19: warning: Call to 'calloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-05-29T04:25:29.437918Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-05-29T04:25:29.437923Z 01O | ^ ~~~~~ 2026-05-29T04:25:29.437923Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-29T04:25:29.437924Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-29T04:25:29.437924Z 01O | ^ 2026-05-29T04:25:29.437925Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.437925Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.437926Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.437926Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-05-29T04:25:29.437927Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-29T04:25:29.437927Z 01O | ^ 2026-05-29T04:25:29.437928Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.437928Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.437929Z 01O | ^ 2026-05-29T04:25:29.438027Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-29T04:25:29.438028Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-29T04:25:29.438028Z 01O | ^ 2026-05-29T04:25:29.438029Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.438029Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.438030Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.438030Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-05-29T04:25:29.438031Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-29T04:25:29.438031Z 01O | ^ 2026-05-29T04:25:29.438078Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.438078Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.438079Z 01O | ^ 2026-05-29T04:25:29.438079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-29T04:25:29.438080Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-29T04:25:29.438080Z 01O | ^ 2026-05-29T04:25:29.438081Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.438081Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.438082Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438082Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-05-29T04:25:29.438083Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-29T04:25:29.438083Z 01O | ^ 2026-05-29T04:25:29.438084Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-05-29T04:25:29.438084Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-29T04:25:29.438085Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438085Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-05-29T04:25:29.438086Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-05-29T04:25:29.438086Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-29T04:25:29.438087Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438087Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-05-29T04:25:29.438094Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-29T04:25:29.438094Z 01O | ^ 2026-05-29T04:25:29.438095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-29T04:25:29.438095Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-29T04:25:29.438096Z 01O | ^ 2026-05-29T04:25:29.438096Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.438097Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.438097Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438140Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-05-29T04:25:29.438141Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-29T04:25:29.438141Z 01O | ^ 2026-05-29T04:25:29.438143Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.438144Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.438145Z 01O | ^ 2026-05-29T04:25:29.438150Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-29T04:25:29.438150Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-29T04:25:29.438151Z 01O | ^ 2026-05-29T04:25:29.438151Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.438152Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.438152Z 01O | ^~~~~~~~~~~~ 2026-05-29T04:25:29.438153Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-05-29T04:25:29.438153Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-29T04:25:29.438154Z 01O | ^ 2026-05-29T04:25:29.438192Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.438193Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.438194Z 01O | ^ 2026-05-29T04:25:29.438194Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-29T04:25:29.438195Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-29T04:25:29.438195Z 01O | ^ 2026-05-29T04:25:29.438223Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-29T04:25:29.438224Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-29T04:25:29.438224Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438225Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-05-29T04:25:29.438225Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-29T04:25:29.438226Z 01O | ^ 2026-05-29T04:25:29.438226Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-05-29T04:25:29.438227Z 01O 13 | if (!length(l)) return(l); 2026-05-29T04:25:29.438227Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.438228Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-05-29T04:25:29.438228Z 01O 13 | if (!length(l)) return(l); 2026-05-29T04:25:29.438228Z 01O | ^ 2026-05-29T04:25:29.438229Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-05-29T04:25:29.438229Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2026-05-29T04:25:29.438235Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438287Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-05-29T04:25:29.438288Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2026-05-29T04:25:29.438289Z 01O | ^ 2026-05-29T04:25:29.438289Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-05-29T04:25:29.438290Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-05-29T04:25:29.438290Z 01O | ^~~~ 2026-05-29T04:25:29.438291Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-05-29T04:25:29.438291Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-05-29T04:25:29.438292Z 01O | ^ 2026-05-29T04:25:29.438375Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-05-29T04:25:29.438376Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-05-29T04:25:29.438376Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438377Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-05-29T04:25:29.438377Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-05-29T04:25:29.438378Z 01O | ^~~~~ 2026-05-29T04:25:29.438378Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-05-29T04:25:29.438379Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-05-29T04:25:29.438380Z 01O | ^ 2026-05-29T04:25:29.438380Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-05-29T04:25:29.438381Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.438381Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.438382Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.438382Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.438383Z 01O | ^ 2026-05-29T04:25:29.438383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-29T04:25:29.438384Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.438384Z 01O | ^ 2026-05-29T04:25:29.438384Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.438385Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.438385Z 01O | ^ 2026-05-29T04:25:29.438386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-29T04:25:29.438386Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.438387Z 01O | ^ 2026-05-29T04:25:29.438473Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-29T04:25:29.438474Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.438474Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438475Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-29T04:25:29.438475Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.438476Z 01O | ^ 2026-05-29T04:25:29.438476Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-29T04:25:29.438477Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.438482Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.438483Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-29T04:25:29.438483Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.438484Z 01O | ^ 2026-05-29T04:25:29.438487Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-29T04:25:29.438487Z 01O 37 | if (fill) { 2026-05-29T04:25:29.438488Z 01O | ^~~~ 2026-05-29T04:25:29.438488Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-29T04:25:29.438489Z 01O 37 | if (fill) { 2026-05-29T04:25:29.438489Z 01O | ^ 2026-05-29T04:25:29.438489Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-29T04:25:29.438490Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.438490Z 01O | ^~~~ 2026-05-29T04:25:29.438491Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-29T04:25:29.438491Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.438492Z 01O | ^ 2026-05-29T04:25:29.438494Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-29T04:25:29.438495Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.438495Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.438624Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-29T04:25:29.438625Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.438626Z 01O | ^ 2026-05-29T04:25:29.438626Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-29T04:25:29.438627Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.438627Z 01O | ^~~~~~ 2026-05-29T04:25:29.438630Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-29T04:25:29.438631Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.438631Z 01O | ^ 2026-05-29T04:25:29.438632Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-29T04:25:29.438632Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.438633Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.438633Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-29T04:25:29.438634Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.438635Z 01O | ^ 2026-05-29T04:25:29.438635Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-29T04:25:29.438636Z 01O 49 | for (int j=0; j0 checked above 2026-05-29T04:25:29.438641Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.438643Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-29T04:25:29.438644Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.438649Z 01O | ^ 2026-05-29T04:25:29.438649Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-29T04:25:29.438650Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.438650Z 01O | ^~~~~~~ 2026-05-29T04:25:29.438651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-29T04:25:29.438651Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.438652Z 01O | ^ 2026-05-29T04:25:29.438800Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-29T04:25:29.438801Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.438802Z 01O | ^~~~ 2026-05-29T04:25:29.438802Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-29T04:25:29.438802Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-29T04:25:29.438803Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.438803Z 01O | ^~~~ 2026-05-29T04:25:29.438804Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-29T04:25:29.438804Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.438805Z 01O | ^ 2026-05-29T04:25:29.438807Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-29T04:25:29.438808Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.438808Z 01O | ^~~~ 2026-05-29T04:25:29.438811Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-29T04:25:29.438812Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.438813Z 01O | ^ 2026-05-29T04:25:29.438813Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-29T04:25:29.438814Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.438814Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.438817Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-29T04:25:29.438817Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.438818Z 01O | ^ 2026-05-29T04:25:29.438818Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-29T04:25:29.438819Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.438819Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.438820Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-29T04:25:29.438822Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-29T04:25:29.438823Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.438823Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.438824Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-29T04:25:29.438824Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.438825Z 01O | ^ 2026-05-29T04:25:29.438827Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-29T04:25:29.438828Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-29T04:25:29.438828Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.438829Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-29T04:25:29.438834Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-29T04:25:29.438835Z 01O | ^ 2026-05-29T04:25:29.438835Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-05-29T04:25:29.438836Z 01O 83 | int nuniq=0; 2026-05-29T04:25:29.438836Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.438919Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-05-29T04:25:29.438920Z 01O 85 | for (int i=0; i0 checked above 2026-05-29T04:25:29.439321Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.439322Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.439322Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.439327Z 01O | ^ 2026-05-29T04:25:29.439328Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-29T04:25:29.439328Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.439329Z 01O | ^ 2026-05-29T04:25:29.439329Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.439330Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.439330Z 01O | ^ 2026-05-29T04:25:29.439330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-29T04:25:29.439331Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.439331Z 01O | ^ 2026-05-29T04:25:29.439332Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-29T04:25:29.439332Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.439333Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.439390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-29T04:25:29.439391Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.439391Z 01O | ^ 2026-05-29T04:25:29.439392Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-29T04:25:29.439392Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.439393Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.439393Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-29T04:25:29.439394Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.439394Z 01O | ^ 2026-05-29T04:25:29.439394Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-29T04:25:29.439395Z 01O 37 | if (fill) { 2026-05-29T04:25:29.439395Z 01O | ^~~~ 2026-05-29T04:25:29.439396Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-29T04:25:29.439396Z 01O 37 | if (fill) { 2026-05-29T04:25:29.439397Z 01O | ^ 2026-05-29T04:25:29.439397Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-29T04:25:29.439397Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.439398Z 01O | ^~~~ 2026-05-29T04:25:29.439398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-29T04:25:29.439399Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.439399Z 01O | ^ 2026-05-29T04:25:29.439479Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-29T04:25:29.439480Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.439481Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.439481Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-29T04:25:29.439482Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.439483Z 01O | ^ 2026-05-29T04:25:29.439483Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-29T04:25:29.439483Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.439484Z 01O | ^~~~~~ 2026-05-29T04:25:29.439484Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-29T04:25:29.439485Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.439485Z 01O | ^ 2026-05-29T04:25:29.439488Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-29T04:25:29.439494Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.439494Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.439495Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-29T04:25:29.439495Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.439496Z 01O | ^ 2026-05-29T04:25:29.439496Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-29T04:25:29.439497Z 01O 49 | for (int j=0; j0 checked above 2026-05-29T04:25:29.439526Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.439613Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-29T04:25:29.439614Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.439614Z 01O | ^ 2026-05-29T04:25:29.439614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-29T04:25:29.439615Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.439615Z 01O | ^~~~~~~ 2026-05-29T04:25:29.439616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-29T04:25:29.439616Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.439617Z 01O | ^ 2026-05-29T04:25:29.439617Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-29T04:25:29.439618Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.439618Z 01O | ^~~~ 2026-05-29T04:25:29.439618Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-29T04:25:29.439619Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-29T04:25:29.439620Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.439620Z 01O | ^~~~ 2026-05-29T04:25:29.439620Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-29T04:25:29.439621Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.439621Z 01O | ^ 2026-05-29T04:25:29.439623Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-29T04:25:29.439624Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.439625Z 01O | ^~~~ 2026-05-29T04:25:29.439740Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-29T04:25:29.439741Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.439741Z 01O | ^ 2026-05-29T04:25:29.439742Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-29T04:25:29.439742Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.439743Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.439748Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-29T04:25:29.439749Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.439749Z 01O | ^ 2026-05-29T04:25:29.439750Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-29T04:25:29.439750Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.439751Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.439751Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-29T04:25:29.439752Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-29T04:25:29.439752Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.439753Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.439753Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-29T04:25:29.439754Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.439754Z 01O | ^ 2026-05-29T04:25:29.439754Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-29T04:25:29.439755Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-29T04:25:29.439756Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.439756Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-29T04:25:29.439757Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-29T04:25:29.439757Z 01O | ^ 2026-05-29T04:25:29.439757Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-29T04:25:29.439758Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-29T04:25:29.439880Z 01O 92 | for (int j=0; j 'ncol' 2026-05-29T04:25:29.440114Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-29T04:25:29.440114Z 01O | ^~~~~~ 2026-05-29T04:25:29.440114Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-05-29T04:25:29.440115Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-29T04:25:29.440115Z 01O | ^ 2026-05-29T04:25:29.440116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-05-29T04:25:29.440116Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-29T04:25:29.440117Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.440117Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-05-29T04:25:29.440118Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-05-29T04:25:29.440118Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.440119Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:153:40: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-05-29T04:25:29.440120Z 01O 153 | for (int j=0; j0 checked above 2026-05-29T04:25:29.440470Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.440562Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.440563Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.440564Z 01O | ^ 2026-05-29T04:25:29.440585Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-29T04:25:29.440586Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.440586Z 01O | ^ 2026-05-29T04:25:29.440587Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.440587Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.440588Z 01O | ^ 2026-05-29T04:25:29.440588Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-29T04:25:29.440589Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.440589Z 01O | ^ 2026-05-29T04:25:29.440589Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-29T04:25:29.440590Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.440590Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.440591Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-29T04:25:29.440591Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.440592Z 01O | ^ 2026-05-29T04:25:29.440592Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-29T04:25:29.440593Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.440593Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.440594Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-29T04:25:29.440594Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.440595Z 01O | ^ 2026-05-29T04:25:29.440595Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-29T04:25:29.440596Z 01O 37 | if (fill) { 2026-05-29T04:25:29.440596Z 01O | ^~~~ 2026-05-29T04:25:29.440596Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-29T04:25:29.440597Z 01O 37 | if (fill) { 2026-05-29T04:25:29.440597Z 01O | ^ 2026-05-29T04:25:29.440598Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-29T04:25:29.440598Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.440599Z 01O | ^~~~ 2026-05-29T04:25:29.440675Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-29T04:25:29.440676Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.440677Z 01O | ^ 2026-05-29T04:25:29.440677Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-29T04:25:29.440687Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.440688Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.440692Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-29T04:25:29.440692Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.440693Z 01O | ^ 2026-05-29T04:25:29.440693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-29T04:25:29.440694Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.440694Z 01O | ^~~~~~ 2026-05-29T04:25:29.440695Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-29T04:25:29.440695Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.440696Z 01O | ^ 2026-05-29T04:25:29.440696Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-29T04:25:29.440697Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.440697Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.440725Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-29T04:25:29.440726Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.440726Z 01O | ^ 2026-05-29T04:25:29.440727Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-29T04:25:29.440727Z 01O 49 | for (int j=0; j0 checked above 2026-05-29T04:25:29.440743Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.440743Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-29T04:25:29.440744Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.440744Z 01O | ^ 2026-05-29T04:25:29.440744Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-29T04:25:29.440745Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.440745Z 01O | ^~~~~~~ 2026-05-29T04:25:29.440746Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-29T04:25:29.440746Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.440747Z 01O | ^ 2026-05-29T04:25:29.440747Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-29T04:25:29.440748Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.440748Z 01O | ^~~~ 2026-05-29T04:25:29.440748Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-29T04:25:29.440749Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-29T04:25:29.440749Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.440750Z 01O | ^~~~ 2026-05-29T04:25:29.440766Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-29T04:25:29.440767Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.440772Z 01O | ^ 2026-05-29T04:25:29.440772Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-29T04:25:29.440773Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.440774Z 01O | ^~~~ 2026-05-29T04:25:29.440830Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-29T04:25:29.440831Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.440831Z 01O | ^ 2026-05-29T04:25:29.440832Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-29T04:25:29.440832Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.440833Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.440833Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-29T04:25:29.440834Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.440835Z 01O | ^ 2026-05-29T04:25:29.440835Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-29T04:25:29.440836Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.440836Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.440836Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-29T04:25:29.440837Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-29T04:25:29.440838Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.440838Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.440894Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-29T04:25:29.440895Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.440896Z 01O | ^ 2026-05-29T04:25:29.440896Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-29T04:25:29.440897Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-29T04:25:29.440897Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.440897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-29T04:25:29.440898Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-29T04:25:29.440899Z 01O | ^ 2026-05-29T04:25:29.440901Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-29T04:25:29.440902Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-29T04:25:29.441069Z 01O 92 | for (int j=0; j= 'thisncol' 2026-05-29T04:25:29.441164Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-05-29T04:25:29.441169Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.441282Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-05-29T04:25:29.441283Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-05-29T04:25:29.441283Z 01O | ^ 2026-05-29T04:25:29.441284Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-05-29T04:25:29.441284Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-05-29T04:25:29.441296Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.441296Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-05-29T04:25:29.441296Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-29T04:25:29.441297Z 01O | ^ 2026-05-29T04:25:29.441297Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-05-29T04:25:29.441298Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.441298Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.441299Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-29T04:25:29.441299Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-05-29T04:25:29.441300Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.441300Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.441301Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-29T04:25:29.441301Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.441302Z 01O | ^ 2026-05-29T04:25:29.441302Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-05-29T04:25:29.441303Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.441303Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.441304Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-05-29T04:25:29.441304Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.441305Z 01O | ^ 2026-05-29T04:25:29.441408Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-05-29T04:25:29.441409Z 01O 142 | for (int i=0; i= 'ncol' 2026-05-29T04:25:29.441412Z 01O 143 | for (int i=0; i0 checked above 2026-05-29T04:25:29.441936Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.441936Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.441937Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.441937Z 01O | ^ 2026-05-29T04:25:29.441960Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-29T04:25:29.441961Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.441962Z 01O | ^ 2026-05-29T04:25:29.441962Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.441962Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.441963Z 01O | ^ 2026-05-29T04:25:29.441963Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-29T04:25:29.441964Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.441964Z 01O | ^ 2026-05-29T04:25:29.442053Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-29T04:25:29.442053Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.442054Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.442054Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-29T04:25:29.442055Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.442056Z 01O | ^ 2026-05-29T04:25:29.442056Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-29T04:25:29.442056Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.442057Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.442063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-29T04:25:29.442064Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.442064Z 01O | ^ 2026-05-29T04:25:29.442065Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-29T04:25:29.442065Z 01O 37 | if (fill) { 2026-05-29T04:25:29.442066Z 01O | ^~~~ 2026-05-29T04:25:29.442066Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-29T04:25:29.442067Z 01O 37 | if (fill) { 2026-05-29T04:25:29.442067Z 01O | ^ 2026-05-29T04:25:29.442067Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-29T04:25:29.442068Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.442068Z 01O | ^~~~ 2026-05-29T04:25:29.442069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-29T04:25:29.442069Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.442070Z 01O | ^ 2026-05-29T04:25:29.442070Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-29T04:25:29.442071Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.442071Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.442078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-29T04:25:29.442079Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.442079Z 01O | ^ 2026-05-29T04:25:29.442080Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-29T04:25:29.442080Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.442081Z 01O | ^~~~~~ 2026-05-29T04:25:29.442182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-29T04:25:29.442183Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.442183Z 01O | ^ 2026-05-29T04:25:29.442183Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-29T04:25:29.442184Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.442185Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.442185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-29T04:25:29.442186Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.442186Z 01O | ^ 2026-05-29T04:25:29.442187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-29T04:25:29.442187Z 01O 49 | for (int j=0; j0 checked above 2026-05-29T04:25:29.442190Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.442191Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-29T04:25:29.442191Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.442192Z 01O | ^ 2026-05-29T04:25:29.442197Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-29T04:25:29.442197Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.442198Z 01O | ^~~~~~~ 2026-05-29T04:25:29.442205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-29T04:25:29.442206Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.442206Z 01O | ^ 2026-05-29T04:25:29.442207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-29T04:25:29.442207Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.442208Z 01O | ^~~~ 2026-05-29T04:25:29.442208Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-29T04:25:29.442293Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-29T04:25:29.442294Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.442294Z 01O | ^~~~ 2026-05-29T04:25:29.442295Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-29T04:25:29.442295Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.442296Z 01O | ^ 2026-05-29T04:25:29.442296Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-29T04:25:29.442297Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.442297Z 01O | ^~~~ 2026-05-29T04:25:29.442298Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-29T04:25:29.442298Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.442299Z 01O | ^ 2026-05-29T04:25:29.442299Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-29T04:25:29.442300Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.442301Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.442303Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-29T04:25:29.442304Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.442304Z 01O | ^ 2026-05-29T04:25:29.442305Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-29T04:25:29.442305Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.442306Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.442306Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-29T04:25:29.442382Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-29T04:25:29.442383Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.442383Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.442384Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-29T04:25:29.442385Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.442385Z 01O | ^ 2026-05-29T04:25:29.442385Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-29T04:25:29.442386Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-29T04:25:29.442386Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.442387Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-29T04:25:29.442387Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-29T04:25:29.442393Z 01O | ^ 2026-05-29T04:25:29.442393Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-29T04:25:29.442394Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-29T04:25:29.442522Z 01O 92 | for (int j=0; j= 'thisncol' 2026-05-29T04:25:29.442646Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-05-29T04:25:29.442656Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.442656Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-05-29T04:25:29.442657Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-05-29T04:25:29.442657Z 01O | ^ 2026-05-29T04:25:29.442659Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-05-29T04:25:29.442660Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-05-29T04:25:29.442764Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.442764Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-05-29T04:25:29.442764Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-29T04:25:29.442765Z 01O | ^ 2026-05-29T04:25:29.442765Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-05-29T04:25:29.442766Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.442766Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.442767Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-29T04:25:29.442767Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-05-29T04:25:29.442768Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.442768Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.442771Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-29T04:25:29.442771Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.442772Z 01O | ^ 2026-05-29T04:25:29.442772Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-05-29T04:25:29.442773Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.442773Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.442774Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-05-29T04:25:29.442774Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-29T04:25:29.442780Z 01O | ^ 2026-05-29T04:25:29.442783Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-05-29T04:25:29.442783Z 01O 142 | for (int i=0; i= 'ncol' 2026-05-29T04:25:29.442843Z 01O 143 | for (int i=0; i0 checked above 2026-05-29T04:25:29.443519Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.443519Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.443525Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.443526Z 01O | ^ 2026-05-29T04:25:29.443526Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-29T04:25:29.443527Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.443527Z 01O | ^ 2026-05-29T04:25:29.443527Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.443528Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.443528Z 01O | ^ 2026-05-29T04:25:29.443529Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-29T04:25:29.443529Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.443530Z 01O | ^ 2026-05-29T04:25:29.443530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-29T04:25:29.443531Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.443531Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.443532Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-29T04:25:29.443532Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.443533Z 01O | ^ 2026-05-29T04:25:29.443533Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-29T04:25:29.443534Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.443534Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.443535Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-29T04:25:29.443535Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.443536Z 01O | ^ 2026-05-29T04:25:29.443536Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-29T04:25:29.443537Z 01O 37 | if (fill) { 2026-05-29T04:25:29.443537Z 01O | ^~~~ 2026-05-29T04:25:29.443537Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-29T04:25:29.443538Z 01O 37 | if (fill) { 2026-05-29T04:25:29.443538Z 01O | ^ 2026-05-29T04:25:29.443539Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-29T04:25:29.443539Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.443540Z 01O | ^~~~ 2026-05-29T04:25:29.443633Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-29T04:25:29.443634Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.443634Z 01O | ^ 2026-05-29T04:25:29.443638Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-29T04:25:29.443639Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.443640Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.443640Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-29T04:25:29.443641Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.443641Z 01O | ^ 2026-05-29T04:25:29.443642Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-29T04:25:29.443642Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.443643Z 01O | ^~~~~~ 2026-05-29T04:25:29.443643Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-29T04:25:29.443644Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.443649Z 01O | ^ 2026-05-29T04:25:29.443649Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-05-29T04:25:29.443650Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.443650Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.443653Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.443654Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.443654Z 01O | ^ 2026-05-29T04:25:29.443731Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-05-29T04:25:29.443732Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.443732Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.443733Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-05-29T04:25:29.443733Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.443734Z 01O | ^ 2026-05-29T04:25:29.443735Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-29T04:25:29.443735Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.443736Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.443736Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-29T04:25:29.443737Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.443737Z 01O | ^ 2026-05-29T04:25:29.443738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.443738Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-05-29T04:25:29.443741Z 01O | ^~~~ 2026-05-29T04:25:29.443741Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-05-29T04:25:29.443742Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-05-29T04:25:29.443742Z 01O | ^ 2026-05-29T04:25:29.443774Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-05-29T04:25:29.443775Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-29T04:25:29.443775Z 01O | ^~~~~ 2026-05-29T04:25:29.443777Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-05-29T04:25:29.443778Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-29T04:25:29.443779Z 01O | ^ 2026-05-29T04:25:29.443780Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-05-29T04:25:29.443781Z 01O 49 | for (int j=0; j0 checked above 2026-05-29T04:25:29.443863Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.443864Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-29T04:25:29.443865Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.443865Z 01O | ^ 2026-05-29T04:25:29.443865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-29T04:25:29.443866Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.443866Z 01O | ^~~~~~~ 2026-05-29T04:25:29.443867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-29T04:25:29.443867Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.443868Z 01O | ^ 2026-05-29T04:25:29.443868Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-29T04:25:29.443869Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.443869Z 01O | ^~~~ 2026-05-29T04:25:29.443869Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-29T04:25:29.443870Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-29T04:25:29.443870Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.443871Z 01O | ^~~~ 2026-05-29T04:25:29.443871Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-29T04:25:29.443872Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.443872Z 01O | ^ 2026-05-29T04:25:29.443903Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-29T04:25:29.443904Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.443905Z 01O | ^~~~ 2026-05-29T04:25:29.443905Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-29T04:25:29.443906Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.443906Z 01O | ^ 2026-05-29T04:25:29.444000Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-29T04:25:29.444001Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.444002Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.444002Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-29T04:25:29.444003Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.444003Z 01O | ^ 2026-05-29T04:25:29.444004Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-05-29T04:25:29.444004Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-05-29T04:25:29.444005Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.444005Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-29T04:25:29.444006Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.444006Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.444007Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-29T04:25:29.444007Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-05-29T04:25:29.444014Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.444015Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.444015Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-05-29T04:25:29.444016Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.444016Z 01O | ^ 2026-05-29T04:25:29.444067Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-05-29T04:25:29.444068Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-05-29T04:25:29.444069Z 01O | ^~~~ 2026-05-29T04:25:29.444069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-05-29T04:25:29.444070Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-05-29T04:25:29.444070Z 01O | ^ 2026-05-29T04:25:29.444071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-05-29T04:25:29.444071Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.444072Z 01O | ^~~~ 2026-05-29T04:25:29.444072Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-05-29T04:25:29.444073Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.444073Z 01O | ^ 2026-05-29T04:25:29.444073Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-05-29T04:25:29.444074Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.444075Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.444075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-05-29T04:25:29.444076Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-05-29T04:25:29.444076Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.444077Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.444077Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-05-29T04:25:29.444078Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.444078Z 01O | ^ 2026-05-29T04:25:29.444078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-05-29T04:25:29.444079Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-29T04:25:29.444079Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.444080Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-05-29T04:25:29.444080Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-29T04:25:29.444081Z 01O | ^ 2026-05-29T04:25:29.444081Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-05-29T04:25:29.444082Z 01O 251 | if (idcol) { 2026-05-29T04:25:29.444082Z 01O | ^~~~~ 2026-05-29T04:25:29.444123Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-05-29T04:25:29.444124Z 01O 251 | if (idcol) { 2026-05-29T04:25:29.444124Z 01O | ^ 2026-05-29T04:25:29.444124Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.444125Z 01O 276 | for(int j=0; j0 checked above 2026-05-29T04:25:29.444764Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.444764Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.444765Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.444766Z 01O | ^ 2026-05-29T04:25:29.444766Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-29T04:25:29.444766Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.444767Z 01O | ^ 2026-05-29T04:25:29.444767Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-29T04:25:29.444768Z 01O 956 | #define isNull Rf_isNull 2026-05-29T04:25:29.444768Z 01O | ^ 2026-05-29T04:25:29.444769Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-29T04:25:29.444769Z 01O 32 | if (isNull(li)) continue; 2026-05-29T04:25:29.444770Z 01O | ^ 2026-05-29T04:25:29.444770Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-29T04:25:29.444771Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.444771Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.444774Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-29T04:25:29.444775Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-29T04:25:29.444775Z 01O | ^ 2026-05-29T04:25:29.444775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-29T04:25:29.444776Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.444776Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.444782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-29T04:25:29.444783Z 01O 35 | if (!thisncol) continue; 2026-05-29T04:25:29.444783Z 01O | ^ 2026-05-29T04:25:29.444784Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-29T04:25:29.444784Z 01O 37 | if (fill) { 2026-05-29T04:25:29.444785Z 01O | ^~~~ 2026-05-29T04:25:29.444885Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-29T04:25:29.444886Z 01O 37 | if (fill) { 2026-05-29T04:25:29.444886Z 01O | ^ 2026-05-29T04:25:29.444886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-29T04:25:29.444887Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.444887Z 01O | ^~~~ 2026-05-29T04:25:29.444888Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-29T04:25:29.444888Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-29T04:25:29.444889Z 01O | ^ 2026-05-29T04:25:29.444892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-29T04:25:29.444893Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.444893Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.444894Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-29T04:25:29.444894Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-29T04:25:29.444900Z 01O | ^ 2026-05-29T04:25:29.444902Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-29T04:25:29.444903Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.444903Z 01O | ^~~~~~ 2026-05-29T04:25:29.444903Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-29T04:25:29.444904Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-29T04:25:29.444904Z 01O | ^ 2026-05-29T04:25:29.444906Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-05-29T04:25:29.444907Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.444908Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.445002Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.445002Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.445003Z 01O | ^ 2026-05-29T04:25:29.445003Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-05-29T04:25:29.445004Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.445005Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.445005Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-05-29T04:25:29.445006Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.445006Z 01O | ^ 2026-05-29T04:25:29.445007Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-29T04:25:29.445007Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.445008Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.445008Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-29T04:25:29.445009Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-29T04:25:29.445010Z 01O | ^ 2026-05-29T04:25:29.445012Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.445012Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-05-29T04:25:29.445017Z 01O | ^~~~ 2026-05-29T04:25:29.445078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-05-29T04:25:29.445079Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-05-29T04:25:29.445080Z 01O | ^ 2026-05-29T04:25:29.445080Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-05-29T04:25:29.445081Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-29T04:25:29.445081Z 01O | ^~~~~ 2026-05-29T04:25:29.445088Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-05-29T04:25:29.445089Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-29T04:25:29.445089Z 01O | ^ 2026-05-29T04:25:29.445090Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-05-29T04:25:29.445090Z 01O 49 | for (int j=0; j0 checked above 2026-05-29T04:25:29.445092Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.445093Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-29T04:25:29.445093Z 01O 29 | for (int i=0; i0 checked above 2026-05-29T04:25:29.445094Z 01O | ^ 2026-05-29T04:25:29.445094Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-29T04:25:29.445095Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.445095Z 01O | ^~~~~~~ 2026-05-29T04:25:29.445096Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-29T04:25:29.445096Z 01O 57 | if (numZero) { // #1871 2026-05-29T04:25:29.445097Z 01O | ^ 2026-05-29T04:25:29.445099Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-05-29T04:25:29.445100Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.445100Z 01O | ^~~~ 2026-05-29T04:25:29.445100Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-05-29T04:25:29.445101Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-29T04:25:29.445102Z 01O | ^ 2026-05-29T04:25:29.445219Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-29T04:25:29.445220Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.445221Z 01O | ^~~~ 2026-05-29T04:25:29.445224Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-29T04:25:29.445225Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-05-29T04:25:29.445225Z 01O | ^ 2026-05-29T04:25:29.445226Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-29T04:25:29.445226Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.445227Z 01O | ^~~~~~~~~~~~~~ 2026-05-29T04:25:29.445227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-29T04:25:29.445228Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-29T04:25:29.445229Z 01O | ^ 2026-05-29T04:25:29.445231Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-05-29T04:25:29.445231Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-05-29T04:25:29.445232Z 01O | ^~~~~~~~~~~ 2026-05-29T04:25:29.445232Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-29T04:25:29.445233Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.445233Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.445242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-29T04:25:29.445347Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-05-29T04:25:29.445349Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.445349Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.445350Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-05-29T04:25:29.445350Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-29T04:25:29.445351Z 01O | ^ 2026-05-29T04:25:29.445351Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-05-29T04:25:29.445352Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-05-29T04:25:29.445352Z 01O | ^~~~ 2026-05-29T04:25:29.445353Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-05-29T04:25:29.445353Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-05-29T04:25:29.445354Z 01O | ^ 2026-05-29T04:25:29.445354Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-05-29T04:25:29.445355Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.445355Z 01O | ^~~~ 2026-05-29T04:25:29.445356Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-05-29T04:25:29.445356Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.445357Z 01O | ^ 2026-05-29T04:25:29.445361Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-05-29T04:25:29.445361Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.445362Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.445362Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-05-29T04:25:29.445363Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-05-29T04:25:29.445363Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.445364Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.445364Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-05-29T04:25:29.445365Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-29T04:25:29.445365Z 01O | ^ 2026-05-29T04:25:29.445366Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-05-29T04:25:29.445366Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-29T04:25:29.445367Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.445367Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-05-29T04:25:29.445368Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-29T04:25:29.445368Z 01O | ^ 2026-05-29T04:25:29.445368Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-05-29T04:25:29.445369Z 01O 251 | if (idcol) { 2026-05-29T04:25:29.445369Z 01O | ^~~~~ 2026-05-29T04:25:29.445370Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-05-29T04:25:29.445370Z 01O 251 | if (idcol) { 2026-05-29T04:25:29.445371Z 01O | ^ 2026-05-29T04:25:29.445377Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.445377Z 01O 276 | for(int j=0; j= 1 2026-05-29T04:25:29.445874Z 01O 27 | if (n<1) return 0; 2026-05-29T04:25:29.445875Z 01O | ^~~ 2026-05-29T04:25:29.445875Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-05-29T04:25:29.445876Z 01O 27 | if (n<1) return 0; 2026-05-29T04:25:29.445876Z 01O | ^ 2026-05-29T04:25:29.445876Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-05-29T04:25:29.445877Z 01O 29 | va_start(ap, fmt); 2026-05-29T04:25:29.445877Z 01O | ^ 2026-05-29T04:25:29.445997Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-05-29T04:25:29.445998Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-05-29T04:25:29.445999Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-29T04:25:29.445999Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-05-29T04:25:29.446000Z 01O 40 | while (*ch!='\0') { 2026-05-29T04:25:29.446000Z 01O | ^~~~~~~~~ 2026-05-29T04:25:29.446000Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-05-29T04:25:29.446001Z 01O 40 | while (*ch!='\0') { 2026-05-29T04:25:29.446001Z 01O | ^ 2026-05-29T04:25:29.446002Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-05-29T04:25:29.446002Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-05-29T04:25:29.446003Z 01O | ^~~~~~~~ 2026-05-29T04:25:29.446003Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-05-29T04:25:29.446004Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-05-29T04:25:29.446004Z 01O | ^ 2026-05-29T04:25:29.446068Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-05-29T04:25:29.446069Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-05-29T04:25:29.446069Z 01O | ^~~~~~~~~~ 2026-05-29T04:25:29.446070Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-05-29T04:25:29.446070Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-05-29T04:25:29.446071Z 01O | ^ 2026-05-29T04:25:29.446071Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-05-29T04:25:29.446072Z 01O 47 | if (!end) { 2026-05-29T04:25:29.446072Z 01O | ^~~~ 2026-05-29T04:25:29.446072Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-05-29T04:25:29.446073Z 01O 47 | if (!end) { 2026-05-29T04:25:29.446073Z 01O | ^ 2026-05-29T04:25:29.446074Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-05-29T04:25:29.446074Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-05-29T04:25:29.446075Z 01O | ^ 2026-05-29T04:25:29.446075Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-05-29T04:25:29.446076Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-05-29T04:25:29.446077Z 01O | ^~~~~~ 2026-05-29T04:25:29.446083Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-05-29T04:25:29.446084Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-05-29T04:25:29.446085Z 01O | ^~~~~~ 2026-05-29T04:25:29.446294Z 01E Suppressed 1 warnings (1 in non-user code). 2026-05-29T04:25:29.446295Z 01E Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2026-05-29T04:25:29.464093Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-05-29T04:25:30.006742Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-05-29T04:25:30.006838Z 01O * using R Under development (unstable) (2026-05-27 r90083) 2026-05-29T04:25:30.007118Z 01O * using platform: x86_64-pc-linux-gnu 2026-05-29T04:25:30.007289Z 01O * R was compiled by 2026-05-29T04:25:30.007445Z 01O Debian clang version 21.1.8 (7+b1) 2026-05-29T04:25:30.007446Z 01O GNU Fortran (Debian 15.2.0-17) 15.2.0 2026-05-29T04:25:30.007714Z 01O * running under: Debian GNU/Linux forky/sid 2026-05-29T04:25:30.007936Z 01O * using session charset: UTF-8 2026-05-29T04:25:30.008584Z 01O * current time: 2026-05-29 04:25:30 UTC 2026-05-29T04:25:30.770958Z 01O * using option ‘--as-cran’ 2026-05-29T04:25:30.771100Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-05-29T04:25:30.773414Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-05-29T04:25:30.773620Z 01O * package encoding: UTF-8 2026-05-29T04:25:30.773900Z 01O * checking CRAN incoming feasibility ... OK 2026-05-29T04:25:31.297424Z 01O * checking package namespace information ... OK 2026-05-29T04:25:31.305151Z 01O * checking package dependencies ... OK 2026-05-29T04:25:32.500650Z 01O * checking if this is a source package ... OK 2026-05-29T04:25:32.503794Z 01O * checking if there is a namespace ... OK 2026-05-29T04:25:32.508787Z 01O * checking for .dll and .exe files ... OK 2026-05-29T04:25:32.509538Z 01O * checking for hidden files and directories ... OK 2026-05-29T04:25:32.512980Z 01O * checking for portable file names ... OK 2026-05-29T04:25:32.518087Z 01O * checking for sufficient/correct file permissions ... OK 2026-05-29T04:25:32.522459Z 01O * checking whether package ‘data.table’ can be installed ... [23s/23s] OK 2026-05-29T04:25:55.048916Z 01O * used C compiler: ‘Debian clang version 21.1.8 (7+b1)’ 2026-05-29T04:25:55.049280Z 01O * checking installed package size ... INFO 2026-05-29T04:25:55.053172Z 01O installed size is 7.9Mb 2026-05-29T04:25:55.053926Z 01O sub-directories of 1Mb or more: 2026-05-29T04:25:55.054452Z 01O doc 1.1Mb 2026-05-29T04:25:55.054452Z 01O libs 1.5Mb 2026-05-29T04:25:55.054453Z 01O po 1.7Mb 2026-05-29T04:25:55.054453Z 01O tests 2.2Mb 2026-05-29T04:25:55.078133Z 01O * checking package directory ... OK 2026-05-29T04:25:55.078497Z 01O * checking for future file timestamps ... OK 2026-05-29T04:25:55.079097Z 01O * checking ‘build’ directory ... OK 2026-05-29T04:25:55.079963Z 01O * checking DESCRIPTION meta-information ... OK 2026-05-29T04:25:55.891669Z 01O * checking top-level files ... OK 2026-05-29T04:25:57.329734Z 01O * checking for left-over files ... OK 2026-05-29T04:25:57.333086Z 01O * checking index information ... OK 2026-05-29T04:25:57.506019Z 01O * checking package subdirectories ... OK 2026-05-29T04:25:57.879718Z 01O * checking code files for non-ASCII characters ... OK 2026-05-29T04:25:57.928174Z 01O * checking R files for syntax errors ... OK 2026-05-29T04:25:58.010125Z 01O * checking whether the package can be loaded ... OK 2026-05-29T04:25:58.209909Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-05-29T04:25:58.369080Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-05-29T04:25:58.525549Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-05-29T04:25:58.691389Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-05-29T04:25:58.893764Z 01O * checking loading without being on the library search path ... OK 2026-05-29T04:25:59.304805Z 01O * checking whether startup messages can be suppressed ... OK 2026-05-29T04:25:59.501137Z 01O * checking use of S3 registration ... OK 2026-05-29T04:25:59.531706Z 01O * checking dependencies in R code ... OK 2026-05-29T04:26:00.366597Z 01O * checking S3 generic/method consistency ... OK 2026-05-29T04:26:00.710306Z 01O * checking replacement functions ... OK 2026-05-29T04:26:00.904653Z 01O * checking foreign function calls ... OK 2026-05-29T04:26:01.706624Z 01O * checking R code for possible problems ... [16s/16s] OK 2026-05-29T04:26:18.200793Z 01O * checking Rd files ... OK 2026-05-29T04:26:19.020240Z 01O * checking Rd metadata ... OK 2026-05-29T04:26:19.062269Z 01O * checking Rd line widths ... OK 2026-05-29T04:26:19.355005Z 01O * checking Rd cross-references ... OK 2026-05-29T04:26:19.960239Z 01O * checking for missing documentation entries ... OK 2026-05-29T04:26:20.199597Z 01O * checking for code/documentation mismatches ... OK 2026-05-29T04:26:21.211467Z 01O * checking Rd \usage sections ... OK 2026-05-29T04:26:22.131991Z 01O * checking Rd contents ... OK 2026-05-29T04:26:22.584774Z 01O * checking for unstated dependencies in examples ... OK 2026-05-29T04:26:23.057561Z 01O * checking line endings in shell scripts ... OK 2026-05-29T04:26:23.058185Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-05-29T04:26:23.077426Z 01O * checking line endings in Makefiles ... OK 2026-05-29T04:26:23.084508Z 01O * checking compilation flags in Makevars ... OK 2026-05-29T04:26:23.140905Z 01O * checking for GNU extensions in Makefiles ... OK 2026-05-29T04:26:23.141749Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-05-29T04:26:23.143091Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-05-29T04:26:23.147314Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-05-29T04:26:23.154012Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-05-29T04:26:23.176392Z 01O * checking compilation flags used ... OK 2026-05-29T04:26:23.178157Z 01O * checking compiled code ... OK 2026-05-29T04:26:23.293589Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-05-29T04:26:23.499260Z 01O * checking files in ‘vignettes’ ... OK 2026-05-29T04:26:24.331534Z 01O * checking examples ... OK 2026-05-29T04:26:31.399202Z 01O * checking examples with --run-donttest ... OK 2026-05-29T04:26:41.453710Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-05-29T04:26:41.523796Z 01O * checking tests ... 2026-05-29T04:26:41.668768Z 01O Running ‘autoprint.R’ 2026-05-29T04:26:41.911599Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-05-29T04:26:41.919037Z 01O Running ‘froll.R’ [396s/396s] 2026-05-29T04:33:17.987284Z 01O Running ‘litedown.R’ 2026-05-29T04:33:18.279909Z 01O Running ‘main.R’ [42s/42s] 2026-05-29T04:34:00.305225Z 01O Running ‘mergelist.R’ 2026-05-29T04:34:01.906861Z 01O Running ‘nafill.R’ 2026-05-29T04:34:02.394051Z 01O Running ‘optimize.R’ 2026-05-29T04:34:03.770819Z 01O Running ‘other.R’ 2026-05-29T04:34:03.984323Z 01O Running ‘programming.R’ 2026-05-29T04:34:04.584105Z 01O Running ‘S4.R’ 2026-05-29T04:34:04.913466Z 01O Running ‘types.R’ 2026-05-29T04:34:05.161538Z 01O [444s/444s] OK 2026-05-29T04:34:05.266016Z 01O * checking for unstated dependencies in vignettes ... OK 2026-05-29T04:34:05.559084Z 01O * checking package vignettes ... OK 2026-05-29T04:34:06.189790Z 01O * checking re-building of vignette outputs ... [30s/31s] OK 2026-05-29T04:34:37.236445Z 01O * checking PDF version of manual ... OK 2026-05-29T04:34:43.176627Z 01O * checking HTML version of manual ... NOTE 2026-05-29T04:34:49.532471Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-05-29T04:34:49.532479Z 01O * checking for non-standard things in the check directory ... OK 2026-05-29T04:34:49.533208Z 01O * checking for detritus in the temp directory ... OK 2026-05-29T04:34:49.533212Z 01O * DONE 2026-05-29T04:34:49.533631Z 01E 2026-05-29T04:34:49.533721Z 01O Status: 1 NOTE 2026-05-29T04:34:49.533869Z 01E See 2026-05-29T04:34:49.533869Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-05-29T04:34:49.533870Z 01E for details. 2026-05-29T04:34:49.533968Z 01E 2026-05-29T04:34:49.554325Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-05-29T04:34:49.555963Z 01O freadR.c:835:21: warning: implicit conversion from 'unsigned long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-const-int-float-conversion] 2026-05-29T04:34:49.555964Z 01O nafill.c:150:8: warning: variable 'any_char' set but not used [-Wunused-but-set-variable] 2026-05-29T04:34:49.722971Z 00O section_end:1780029289:step_script 2026-05-29T04:34:49.722978Z 00O+section_start:1780029289:after_script 2026-05-29T04:34:49.723393Z 00O+Running after_script 2026-05-29T04:34:50.043225Z 01O Running after script... 2026-05-29T04:34:50.043250Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-05-29T04:34:50.044341Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-05-29T04:34:50.044344Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-05-29T04:34:50.044439Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-05-29T04:34:50.044504Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-05-29T04:34:50.204025Z 00O section_end:1780029290:after_script 2026-05-29T04:34:50.204030Z 00O+section_start:1780029290:upload_artifacts_on_failure 2026-05-29T04:34:50.204738Z 00O+Uploading artifacts for failed job 2026-05-29T04:34:50.579839Z 01O Uploading artifacts... 2026-05-29T04:34:50.636250Z 01E bus/test-lin-dev-clang-cran: found 714 matching artifact files and directories 2026-05-29T04:34:52.863582Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=9ad5838e51ff4a72b26be3684987465d id=14595616718 status=201 token=6f_odLUhy 2026-05-29T04:34:53.036506Z 00O section_end:1780029293:upload_artifacts_on_failure 2026-05-29T04:34:53.036511Z 00O+section_start:1780029293:cleanup_file_variables 2026-05-29T04:34:53.036611Z 00O+Cleaning up project directory and file based variables 2026-05-29T04:34:53.529003Z 00O section_end:1780029293:cleanup_file_variables 2026-05-29T04:34:53.529010Z 00O+ 2026-05-29T04:34:53.566540Z 00O ERROR: Job failed: exit code 1